中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript的內置對象怎么用

發布時間:2022-03-02 10:25:48 來源:億速云 閱讀:122 作者:iii 欄目:web開發

這篇“JavaScript的內置對象怎么用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“JavaScript的內置對象怎么用”文章吧。

1 、對象的基礎

1.1 類型

JavaScript有六種主要語言類型:

string , number , boolean ,undefined , null , object

基本類型:string,number,boolean,undefined,null;基本類型本身不是對象。

null

但是 null有時會被當成對象,typeof null 會返回object,實際上null是基本類型。原因是不同對象在底層都是表示為二進制,在JavaScript中二進制前三位都為0會被判斷為object類型,null表示全 0,所以typeof時會返回object。

特殊對象子類型

數組

數組也是對象的一種類型,具備一些額外的行為。數組的組織方式比一般的對象要復雜。

函數

函數本質上和普通函數一樣,只是可以調用,所以可以操作對象一樣操作函數。

1.2 內置對象

String

Number

Date

Boolean

Object

Function

Array

1.3 內容

.a 稱之為屬性訪問,[‘a’]稱之為操作符訪問。

//對象中的屬性名始終是字符串

myobj={}

myobj[myobj]='bar'//賦值

myobj['[object object]'] //'bar'

1.4 可計算屬性名

es6 增加可計算屬性名,可以在文字形式中使用 [] 包裹一個表達式來當作屬性名

var perfix = 'foo'

var myobj={

    [perfix + 'bar'] :'hello'

}

myobj['foobar']//hello

1.5 屬性描述符

es5開始,所有屬性具備了屬性描述符,比如可以直接判斷屬性是否可讀可寫等。

/*

 * 重要函數:

 * Object.getOwnPropertyDescriptor() //獲取屬性描述符

 * Object.defineProperty() //設置屬性描述符

 */

 writeble(可讀性)

 configurable(可配置性)

 enumerable (可枚舉性)

1.6遍歷

for in

for in可用來遍歷對象的可枚舉屬性列表(包括[[Prototype]]鏈),需要手動獲取屬性值。可以遍歷數組及普通的對象

for of

es6新增,可以用來遍歷數組的屬性值,for of循環首先會向被訪問對象請求一個迭代器對象,然后通過調用迭代器對象的next()方法來遍歷所有的返回值。

數組有內置的@@iterator,

for of 如何工作?

var arr = [1, 2, 3]

var it = arr[Symbol.iterator]()//迭代器對象

console.log(it.next());//{value: 1, done: false}

console.log(it.next());//{value: 2, done: false}

console.log(it.next());//{value: 3, done: false}

console.log(it.next());//{value: undefined, done: true}

/*

 * 用es6 的Symbol.iterator 來獲取對象的迭代器內部屬性。

 * @@iterator本身并不是一個迭代器對象,而是一個返回迭代器對象的函數。

 */

對象如何內置@@iterator,遍歷屬性的值?

因為對象沒有內置一個@@iterator,無法自動完成for…of遍歷。但是,可以給你任何想遍歷的對象定義@@iterator,舉例來說:

  var obj={

      a:1,b:2

  }

   Object.defineProperty(obj, Symbol.iterator, {

        enumerable: false,

        writable: false,

        configurable: true,

        value: function () {

            var self = this

            var idx = 0

            var ks = Object.keys(self)

            return {

                next: function () {

                    return {

                        value: self[ks[idx++]],

                        done: (idx > ks.length)

                    }

                }

            }

        }

    })

    //手動遍歷

    var it = obj[Symbol.iterator]()//迭代器對象

    console.log(it.next());//{value: 1, done: false}

    console.log(it.next());//{value: 2, done: false}

    console.log(it.next());//{value: undefined, done: true}

   //for of 遍歷

    for (const v of obj) {

        console.log(v);

    }

    //2

    //3

其他數組遍歷函數

 /*

 forEach:會遍歷所有并忽略返回值

 some:會一直運行到回調函數返回 true(或者"真"值)

 every:會一直運行到回調函數返回 false(或者"假"值)

 map:

 filter:返回滿足條件的值

 reduce:

 some和every 和for的break語句類似,會提前終止遍歷

 */

以上就是關于“JavaScript的內置對象怎么用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

富锦市| 铁力市| 高青县| 平江县| 交口县| 察哈| 四川省| 金阳县| 都江堰市| 双桥区| 白城市| 舟山市| 灵武市| 浮梁县| 镇沅| 乌兰浩特市| 枣强县| 白玉县| 宁晋县| 莱阳市| 壤塘县| 五家渠市| 大丰市| 呈贡县| 阆中市| 清徐县| 宁武县| 满城县| 深泽县| 隆德县| 萨迦县| 皋兰县| 定兴县| 方城县| 缙云县| 高邑县| 桂东县| 巴里| 宿州市| 麻阳| 曲阜市|