91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

潼关县| 台前县| 烟台市| 锦屏县| 平原县| 石狮市| 抚远县| 化隆| 新巴尔虎右旗| 铁力市| 阳原县| 惠水县| 瑞安市| 淳化县| 英吉沙县| 四川省| 柳河县| 天水市| 青川县| 北宁市| 湖北省| 靖边县| 吴桥县| 南通市| 平南县| 江孜县| 梁河县| 武功县| 五指山市| 哈密市| 扶风县| 宣威市| 盱眙县| 土默特右旗| 灌云县| 庆元县| 和龙市| 平定县| 阜康市| 东兴市| 肥西县|