亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Javascript學(xué)習(xí)筆記之 對(duì)象篇(一) : 對(duì)象的使用和屬性

 更新時(shí)間:2014年06月24日 08:51:34   投稿:hebedich  
Javascript 中的一切都可以視為對(duì)象,除了兩個(gè)特例:null 和 undefined。
false.toString(); // 'false'
[1, 2, 3].toString(); // '1,2,3'

function Foo(){}
Foo.bar = 1;
Foo.bar; // 1

一個(gè)經(jīng)常容易被誤解的就是數(shù)字常量不能視為對(duì)象,實(shí)際上數(shù)字常量仍然可以視為對(duì)象。這是因?yàn)?Javascript 解析器在解析點(diǎn)操作符時(shí)而將其視為浮點(diǎn)數(shù)特征而犯下的錯(cuò)誤。

2.toString(); // raises SyntaxError

實(shí)際上,我們有很多方法可以使得數(shù)字常量表現(xiàn)為一個(gè)對(duì)象。

2..toString(); // the second point is correctly recognized
2 .toString(); // note the space left to the dot
(2).toString(); // 2 is evaluated first

對(duì)象作為數(shù)據(jù)類型

Javascript 中的對(duì)象可以當(dāng)做哈希表使用,它們主要包含鍵與值的對(duì)應(yīng)關(guān)系。
使用 {} 符號(hào)來(lái)創(chuàng)建一個(gè)簡(jiǎn)單的對(duì)象,這個(gè)新建的對(duì)象將從 Object.prototype 繼承而來(lái),并且不包含自己定義的屬性。

var foo = {}; // a new empty object
// a new object with a 'test' property with value 12
var bar = {test: 12}; 

訪問(wèn)對(duì)象的屬性

我們可以使用兩種方式來(lái)訪問(wèn) Javascript 的對(duì)象,分別是點(diǎn)操作符 . 和中括號(hào)操作符 [] 。

var foo = {name: 'kitten'}
foo.name; // kitten
foo['name']; // kitten

var get = 'name';
foo[get]; // kitten

foo.1234; // SyntaxError
foo['1234']; // works

兩種操作符的效果幾乎一樣,唯一的不同是中括號(hào)操作符允許動(dòng)態(tài)設(shè)置屬性而且屬性名可以有語(yǔ)法錯(cuò)誤。(上例中的第三個(gè)情形已說(shuō)明)

刪除對(duì)象的屬性

刪除屬性的唯一方法是使用 delete,將屬性值設(shè)置為 undefined 或 null 只是移除了與屬性相關(guān)的值,并沒(méi)有真正刪除屬性本身。

var obj = {
 bar: 1,
 foo: 2,
 baz: 3
};
obj.bar = undefined;
obj.foo = null;
delete obj.baz;

for(var i in obj) {
 if (obj.hasOwnProperty(i)) {
 console.log(i, '' + obj[i]);
 }
}

上面的輸出 bar undefined 和 foo null,只有 baz 真正被刪除。
這里要說(shuō)明一點(diǎn),delete 只能刪除屬性,并不能刪除變量。所以我們?cè)诙x變量時(shí)一定要養(yǎng)成寫 var 的好習(xí)慣,任何時(shí)候,變量一定要使用 var 關(guān)鍵字才能聲明。因?yàn)槿绻粚?var,變量會(huì)被誤認(rèn)給全局對(duì)象創(chuàng)建了一個(gè)新屬性。

這個(gè)例子相當(dāng)清楚給出了答案,a 為變量,而 b 只是一個(gè)全局對(duì)象的屬性而已。

命名對(duì)象的屬性

var test = {
 'case': 'I am a keyword, so I must be notated as a string',
 delete: 'I am a keyword, so me too' // raises SyntaxError
};

對(duì)象的屬性可以用普通字符或字符串來(lái)命名。同樣也是由于 Javascript 解析器的一個(gè)錯(cuò)誤設(shè)計(jì),上例中的第二種表示方法在 ECMAScript 5 中將會(huì)拋出一個(gè)錯(cuò)誤。
錯(cuò)誤的原因是因?yàn)?delete 是一個(gè)關(guān)鍵詞,所以必須使用一個(gè)字符串常量來(lái)命名來(lái)適應(yīng)老版的 Javascript 解析器。

相關(guān)文章

  • Node.js生成HttpStatusCode輔助類發(fā)布到npm

    Node.js生成HttpStatusCode輔助類發(fā)布到npm

    本篇文章小編為大家介紹利用Node.js為Node.js生成HttpStatusCode輔助類并發(fā)布到npm,有需要的朋友可以參考一下
    2013-04-04
  • 深入解讀JavaScript中的Iterator和for-of循環(huán)

    深入解讀JavaScript中的Iterator和for-of循環(huán)

    這篇文章主要介紹了JavaScript中的Iterator和for-of循環(huán),是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-07-07
  • JavaScript中的分號(hào)插入機(jī)制詳細(xì)介紹

    JavaScript中的分號(hào)插入機(jī)制詳細(xì)介紹

    這篇文章主要介紹了JavaScript中的分號(hào)插入機(jī)制詳細(xì)介紹,本文講解JavaScript中各種情況下的分號(hào)插入機(jī)制,需要的朋友可以參考下
    2015-02-02
  • JavaScript中循環(huán)遍歷Array與Map的方法小結(jié)

    JavaScript中循環(huán)遍歷Array與Map的方法小結(jié)

    這篇文章主要介紹了JavaScript中循環(huán)遍歷Array與Map的各種方法,利用的都是js入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-03-03
  • 淺談JavaScript_DOM學(xué)習(xí)篇_圖片切換小案例

    淺談JavaScript_DOM學(xué)習(xí)篇_圖片切換小案例

    這篇文章主要介紹了JavaScriptDOM圖片切換小案例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • javascript中call()、apply()的區(qū)別

    javascript中call()、apply()的區(qū)別

    這篇文章主要介紹了javascript中call()、apply()的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Ajax的概述與實(shí)現(xiàn)過(guò)程

    Ajax的概述與實(shí)現(xiàn)過(guò)程

    Ajax是Asynchronous JavaScript XML的簡(jiǎn)寫,不是一門新技術(shù),而是對(duì)現(xiàn)有技術(shù)的綜合利用。本文詳細(xì)介紹了Ajax的概述與具體實(shí)現(xiàn)方法。有需要的朋友可以看下,希望對(duì)你有所幫助
    2016-11-11
  • Javascript Global對(duì)象

    Javascript Global對(duì)象

    Global對(duì)象是ECMAScript中最特別的對(duì)象,因?yàn)閷?shí)際上它根本不存在。
    2009-08-08
  • 分享javascript實(shí)現(xiàn)的冒泡排序代碼并優(yōu)化

    分享javascript實(shí)現(xiàn)的冒泡排序代碼并優(yōu)化

    本文給大家匯總介紹了幾個(gè)個(gè)人收藏的JavaScript實(shí)現(xiàn)冒泡排序的代碼,都是非常的不錯(cuò),有需要的小伙伴可以參考下
    2016-06-06
  • 淺談javascript 迭代方法

    淺談javascript 迭代方法

    這篇文章主要介紹了淺談javascript 迭代方法的相關(guān)資料,需要的朋友可以參考下
    2015-01-01

最新評(píng)論