您好,登錄后才能下訂單哦!
這篇“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的內置對象怎么用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。