亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

js的數(shù)組和對(duì)象的多種"復(fù)制"和"清空", 以及區(qū)分JS數(shù)組

DTeam / 3228人閱讀

摘要:方法方法弊端區(qū)分不開對(duì)象或者數(shù)組方法以上是我認(rèn)為無懈可擊的方法其他還有很多需要請(qǐng)留言想了解原生的數(shù)組和對(duì)象的方法請(qǐng)點(diǎn)擊教程阮一峰

js的數(shù)組和對(duì)象的多種"復(fù)制"和"清空", 以及區(qū)分JS數(shù)組和對(duì)象的方法 一.數(shù)組清空與復(fù)制方法

1.數(shù)組清空的方法

var a = [1,2,3];    
a.length = 0;           //方法1 
a.splice(0, a.length);  //方法2

2.數(shù)組復(fù)制方法

var a = [1,2,3];
a.slice(0)
二.對(duì)象清空與復(fù)制方法

1.判斷對(duì)象是否為空

Object.key.length==0  //為空  ES6

2.對(duì)象復(fù)制

(1).萬能辦法

function clone(obj){
    let temp = null;
    if(obj instanceof Array){
        temp = obj.concat();
    }else if(obj instanceof Function){
        //函數(shù)是共享的是無所謂的,js也沒有什么辦法可以在定義后再修改函數(shù)內(nèi)容
        temp = obj;
    }else{
        temp = new Object();
        for(let item in obj){
            let val = obj[item];
            temp[item] = typeof val == "object"?clone(val):val; //這里也沒有判斷是否為函數(shù),因?yàn)閷?duì)于函數(shù),我們將它和一般值一樣處理
        }
    }
    return temp;
}

(2).JSON對(duì)象序列化方法, 弊端: 不能復(fù)制函數(shù)

JSON.parse(JSON.stringify(obj))
三.判斷是否為數(shù)組和對(duì)象的方法

1.toString方法

Object.prototype.toString.call(array) === "[object Array]"  //true
Object.prototype.toString.call(obj) === "[Object Object]"  //true

數(shù)值:返回[object Number]。 
字符串:返回[object String]。 
布爾值:返回[object Boolean]。
undefined:返回[object Undefined]。 
null:返回[object Null]。 
數(shù)組:返回[object Array]。 
arguments 對(duì)象:返回[object Arguments]。 
函數(shù):返回[object Function]。
Error 對(duì)象:返回[object Error]。 
Date 對(duì)象:返回[object Date]。 
RegExp 對(duì)象:返回[object RegExp]。 
其他對(duì)象:返回[object Object]。

2.constructor方法

obj.constructor === Array//true
obj.constructor === Object //true

3.instanceof方法, 弊端: 區(qū)分不開對(duì)象或者數(shù)組

obj instaceof Object  //true
array instaceof Object// true

4.isArray方法

Array.isArray([1,2,3])  //true

以上是我認(rèn)為無懈可擊的方法, 其他還有很多, 需要請(qǐng)留言
想了解原生js的"數(shù)組"和"對(duì)象"的方法, 請(qǐng)點(diǎn)擊 JavaScript教程-阮一峰

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/102113.html

相關(guān)文章

  • 詳細(xì)解說JavaScript內(nèi)存管理GC算法

      JavaScript在創(chuàng)建變量(數(shù)組、字符串、對(duì)象等)是自動(dòng)進(jìn)行了分配內(nèi)存,而且當(dāng)它沒有被使用的狀態(tài)下,會(huì)自動(dòng)的釋放分配的內(nèi)容;其實(shí)這樣基層語(yǔ)言,如C語(yǔ)言,他們提供了內(nèi)存管理的接口,比如malloc()用于分配所需的內(nèi)存空間、free()釋放之前所分配的內(nèi)存空間?! ♂尫艃?nèi)存的過程稱為垃圾回收,例如avaScript這類高級(jí)語(yǔ)言可以提供了內(nèi)存自動(dòng)分配和自動(dòng)回收,其實(shí)這個(gè)自動(dòng)儲(chǔ)存不會(huì)占用太多空間...

    3403771864 評(píng)論0 收藏0
  •  用js實(shí)現(xiàn)點(diǎn)擊切換自動(dòng)播放輪播圖示例

      js實(shí)現(xiàn)點(diǎn)擊切換和自動(dòng)播放的輪播圖,其實(shí)十分簡(jiǎn)單,話不多說,我們直接看示例:  輪播圖案例  <!DOCTYPEhtml>   <html>   <head>   <metacharset="UTF-8">   <metaname="vie...

    3403771864 評(píng)論0 收藏0
  • 前端開發(fā)——讓算法"動(dòng)"起來

    摘要:函數(shù)和我們之前介紹的冒泡排序是一樣的,只不過這里有一句這句是核心,一看是乍看是不是很奇怪,為什么要然后再。而且細(xì)心的會(huì)發(fā)現(xiàn)之前我們看到的冒泡排序它只有一層循環(huán)。 正文 當(dāng)然在我們不清楚具體操作細(xì)節(jié)前我們可以先假設(shè)一下,我們能夠用什么來實(shí)現(xiàn)。按照以前看過的排序動(dòng)畫我將其分為 1.Js操作Dom,再搭配簡(jiǎn)單的css 2.Canvas動(dòng)畫 之后在查資料的時(shí)候發(fā)現(xiàn)還有人用d3這個(gè)庫(kù)來完成。...

    233jl 評(píng)論0 收藏0
  • 前端開發(fā)——讓算法"動(dòng)"起來

    摘要:函數(shù)和我們之前介紹的冒泡排序是一樣的,只不過這里有一句這句是核心,一看是乍看是不是很奇怪,為什么要然后再。而且細(xì)心的會(huì)發(fā)現(xiàn)之前我們看到的冒泡排序它只有一層循環(huán)。 正文 當(dāng)然在我們不清楚具體操作細(xì)節(jié)前我們可以先假設(shè)一下,我們能夠用什么來實(shí)現(xiàn)。按照以前看過的排序動(dòng)畫我將其分為 1.Js操作Dom,再搭配簡(jiǎn)單的css 2.Canvas動(dòng)畫 之后在查資料的時(shí)候發(fā)現(xiàn)還有人用d3這個(gè)庫(kù)來完成。...

    Tangpj 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<