摘要:屬性探測在大多數(shù)情況下,操作符是探測對象中屬性是否存在的最好的途徑。然而在某些情況下,可能希望僅當(dāng)一個(gè)屬性是自有屬性時(shí)才檢查其是否存在。刪除屬性使用操作符來徹底移除對象的一個(gè)屬性。循環(huán)同時(shí)也會遍歷原型屬性而只返回自有實(shí)例屬性。
屬性探測
在大多數(shù)情況下,in操作符是探測對象中屬性是否存在的最好的途徑。然而在某些情況下,可能希望僅當(dāng)一個(gè)屬性是自有屬性時(shí)才檢查其是否存在。in 操作符會檢查自有屬性和原型屬性,所以不得選擇另一條途徑:所有的對象都擁有hasOwnProperty()方法。
var person1 = { name: "Nicholas", sayName: function () { console.log(this.name); } }; console.log("name" in person1); // true console.log(person1.hasOwnProperty("name")); // true console.log("toString" in person1); // true console.log(person1.hasOwnProperty("toString")); // false刪除屬性
使用delete操作符來徹底移除對象的一個(gè)屬性。
var person1 = { name: "Nicholas" }; console.log("name" in person1); delete person1.name; // true console.log("name" in person1); // false console.log(person1.name); // undefined屬性枚舉
如果只需要獲取一個(gè)對象的屬性列表以備程序?qū)硎褂茫珽CMAScript 5 引入了Object.keys()方法,它可以獲取可枚舉屬性的名字的數(shù)組。
for in 循環(huán)返回的和Object.keys()返回的可枚舉屬性有一個(gè)區(qū)別。for in循環(huán)同時(shí)也會遍歷原型屬性而Object.keys()只返回自有(實(shí)例)屬性。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/85658.html
摘要:屬性是函數(shù)獨(dú)有的,表明該對象可以被執(zhí)行。李四張三張三李四李四李四張三屬性探測由于屬性可以在任何時(shí)候添加,所以有時(shí)候就有必要檢查對象是否已有一個(gè)屬性。張三屬性特征通過方法來改變屬性特征。 1.[[Call]]屬性是函數(shù)獨(dú)有的,表明該對象可以被執(zhí)行。由于僅函數(shù)擁有該對象,ECMAScript定義typeof操作符對任何具有[[Call]]屬性的對象返回function。 注:某些瀏覽器曾經(jīng)...
摘要:解除引用的最佳手段是將對象變量設(shè)置為。字面形式允許你在不需要使用操作符和構(gòu)造函數(shù)顯示創(chuàng)建對象的情況下生成引用值。函數(shù)就是值可以像使用對象一樣使用函數(shù)因?yàn)楹瘮?shù)本來就是對象,構(gòu)造函數(shù)更加容易說明。 JavaScript(ES5)的面向?qū)ο缶?標(biāo)簽: JavaScript 面向?qū)ο?讀書筆記 2016年1月16日-17日兩天看完了《JavaScript面向?qū)ο缶罚▍⒓赢惒缴鐓^(qū)的活動(dòng)送...
摘要:一面向?qū)ο蟾攀雒嫦驅(qū)ο笫鞘裁词鞘褂靡幌盗袑ο笙嗷f(xié)作軟件設(shè)計(jì),目的是在編程中促進(jìn)更好靈活性和可維護(hù)性,憑借對模塊化重視,面向?qū)ο蟠a開發(fā)更簡單,容易理解面向?qū)ο蟮挠兄饕卣魇欠庋b繼承多態(tài)封裝封裝主要用于敘述對象中所包含封裝的內(nèi)容,由兩部分組 JS(JavaScript)一.面向?qū)ο螅桓攀觯?面向?qū)ο笫鞘裁矗?是使用一系列對象相互協(xié)作軟件設(shè)計(jì),目的是在編程中促進(jìn)更好靈活性和可維護(hù)性,憑借...
摘要:盡管的右操作數(shù)是構(gòu)造函數(shù),但計(jì)算過程實(shí)際是檢測了對象的繼承關(guān)系。通過創(chuàng)建的對象使用構(gòu)造函數(shù)的屬性作為它們的原型。 JavaScript之對象屬性 Object.create()繼承 ECMAScript 5定義了一個(gè)名為Object.create()的方法,它創(chuàng)建一個(gè)新對象, 其中第一個(gè)參數(shù)是這個(gè)對象的原型。Object.create()提供第二個(gè)可選參數(shù),用以對對象的屬性進(jìn)行進(jìn)一步描...
摘要:對象是由多個(gè)名值對組成的無序的集合。對象中每個(gè)屬性對應(yīng)任意類型的值。目標(biāo)屬性所擁有的特性返回值傳入函數(shù)的對象。給對象的屬性添加特性描述,目前提供兩種形式數(shù)據(jù)描述和存取器描述。兼容性在下只能在對象上使用,嘗試在原生的對象使用會報(bào)錯(cuò)。 對象是由多個(gè)名/值對組成的無序的集合。對象中每個(gè)屬性對應(yīng)任意類型的值。定義對象可以使用構(gòu)造函數(shù)或字面量的形式: var obj = new Object; ...
閱讀 2985·2021-10-19 11:46
閱讀 979·2021-08-03 14:03
閱讀 2934·2021-06-11 18:08
閱讀 2905·2019-08-29 13:52
閱讀 2744·2019-08-29 12:49
閱讀 480·2019-08-26 13:56
閱讀 924·2019-08-26 13:41
閱讀 849·2019-08-26 13:35