成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

理解Javascript對(duì)象(屬性探測(cè),刪除屬性,屬性枚舉)

vpants / 2464人閱讀

摘要:屬性探測(cè)在大多數(shù)情況下,操作符是探測(cè)對(duì)象中屬性是否存在的最好的途徑。然而在某些情況下,可能希望僅當(dāng)一個(gè)屬性是自有屬性時(shí)才檢查其是否存在。刪除屬性使用操作符來(lái)徹底移除對(duì)象的一個(gè)屬性。循環(huán)同時(shí)也會(huì)遍歷原型屬性而只返回自有實(shí)例屬性。

屬性探測(cè)

在大多數(shù)情況下,in操作符是探測(cè)對(duì)象中屬性是否存在的最好的途徑。然而在某些情況下,可能希望僅當(dāng)一個(gè)屬性是自有屬性時(shí)才檢查其是否存在。in 操作符會(huì)檢查自有屬性和原型屬性,所以不得選擇另一條途徑:所有的對(duì)象都擁有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操作符來(lái)徹底移除對(duì)象的一個(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è)對(duì)象的屬性列表以備程序?qū)?lái)使用,ECMAScript 5 引入了Object.keys()方法,它可以獲取可枚舉屬性的名字的數(shù)組。

for in 循環(huán)返回的和Object.keys()返回的可枚舉屬性有一個(gè)區(qū)別。for in循環(huán)同時(shí)也會(huì)遍歷原型屬性而Object.keys()只返回自有(實(shí)例)屬性。

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

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

相關(guān)文章

  • 深入了解JavaScript對(duì)象(2)--函數(shù)、對(duì)象

    摘要:屬性是函數(shù)獨(dú)有的,表明該對(duì)象可以被執(zhí)行。李四張三張三李四李四李四張三屬性探測(cè)由于屬性可以在任何時(shí)候添加,所以有時(shí)候就有必要檢查對(duì)象是否已有一個(gè)屬性。張三屬性特征通過(guò)方法來(lái)改變屬性特征。 1.[[Call]]屬性是函數(shù)獨(dú)有的,表明該對(duì)象可以被執(zhí)行。由于僅函數(shù)擁有該對(duì)象,ECMAScript定義typeof操作符對(duì)任何具有[[Call]]屬性的對(duì)象返回function。 注:某些瀏覽器曾經(jīng)...

    darkerXi 評(píng)論0 收藏0
  • JavaScript面向對(duì)象精要》讀書(shū)筆記

    摘要:解除引用的最佳手段是將對(duì)象變量設(shè)置為。字面形式允許你在不需要使用操作符和構(gòu)造函數(shù)顯示創(chuàng)建對(duì)象的情況下生成引用值。函數(shù)就是值可以像使用對(duì)象一樣使用函數(shù)因?yàn)楹瘮?shù)本來(lái)就是對(duì)象,構(gòu)造函數(shù)更加容易說(shuō)明。 JavaScript(ES5)的面向?qū)ο缶?標(biāo)簽: JavaScript 面向?qū)ο?讀書(shū)筆記 2016年1月16日-17日兩天看完了《JavaScript面向?qū)ο缶罚▍⒓赢惒缴鐓^(qū)的活動(dòng)送...

    GitCafe 評(píng)論0 收藏0
  • JavaScript】面向對(duì)象

    摘要:一面向?qū)ο蟾攀雒嫦驅(qū)ο笫鞘裁词鞘褂靡幌盗袑?duì)象相互協(xié)作軟件設(shè)計(jì),目的是在編程中促進(jìn)更好靈活性和可維護(hù)性,憑借對(duì)模塊化重視,面向?qū)ο蟠a開(kāi)發(fā)更簡(jiǎn)單,容易理解面向?qū)ο蟮挠兄饕卣魇欠庋b繼承多態(tài)封裝封裝主要用于敘述對(duì)象中所包含封裝的內(nèi)容,由兩部分組 JS(JavaScript)一.面向?qū)ο?;概述?面向?qū)ο笫鞘裁矗?是使用一系列對(duì)象相互協(xié)作軟件設(shè)計(jì),目的是在編程中促進(jìn)更好靈活性和可維護(hù)性,憑借...

    gself 評(píng)論0 收藏0
  • JavaScript對(duì)象屬性

    摘要:盡管的右操作數(shù)是構(gòu)造函數(shù),但計(jì)算過(guò)程實(shí)際是檢測(cè)了對(duì)象的繼承關(guān)系。通過(guò)創(chuàng)建的對(duì)象使用構(gòu)造函數(shù)的屬性作為它們的原型。 JavaScript之對(duì)象屬性 Object.create()繼承 ECMAScript 5定義了一個(gè)名為Object.create()的方法,它創(chuàng)建一個(gè)新對(duì)象, 其中第一個(gè)參數(shù)是這個(gè)對(duì)象的原型。Object.create()提供第二個(gè)可選參數(shù),用以對(duì)對(duì)象的屬性進(jìn)行進(jìn)一步描...

    gekylin 評(píng)論0 收藏0
  • 理解Object.defineProperty的作用

    摘要:對(duì)象是由多個(gè)名值對(duì)組成的無(wú)序的集合。對(duì)象中每個(gè)屬性對(duì)應(yīng)任意類(lèi)型的值。目標(biāo)屬性所擁有的特性返回值傳入函數(shù)的對(duì)象。給對(duì)象的屬性添加特性描述,目前提供兩種形式數(shù)據(jù)描述和存取器描述。兼容性在下只能在對(duì)象上使用,嘗試在原生的對(duì)象使用會(huì)報(bào)錯(cuò)。 對(duì)象是由多個(gè)名/值對(duì)組成的無(wú)序的集合。對(duì)象中每個(gè)屬性對(duì)應(yīng)任意類(lèi)型的值。定義對(duì)象可以使用構(gòu)造函數(shù)或字面量的形式: var obj = new Object; ...

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

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

0條評(píng)論

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