JavaScript的對象和包裝類你了解多少
一、對象
1.1 描述對象
this代表這個值自己==mrDeng
1.2 屬性的增刪改查(以下需要在控制臺輸入)
1.3 對象的創(chuàng)建方法
1.3.1 字面量
1.3.2 構(gòu)造函數(shù)
1.3.2.1 系統(tǒng)自帶構(gòu)造函數(shù)
下面的是第一種字面量方法,與系統(tǒng)自帶的構(gòu)造函數(shù)沒有任何區(qū)別
1.3.2.2 自定義
加new 執(zhí)行的時候就變成能返回的對象了
1.3.3 Object.create(原型)方法
構(gòu)造函數(shù)內(nèi)部原理:有new就能發(fā)生下面的執(zhí)行,沒new就是正常函數(shù)執(zhí)行
以下輸出結(jié)果是xiaowang,跟后面對應(yīng)輸出
二、 包裝類(new String()、new Boolean()、new Number())
undefined和null不能有設(shè)置屬性的東西
例1:
原始值不能有屬性和方法(num不能加llen),對象可以有,如上, 那為什么原始值可以被調(diào)用,因為經(jīng)歷了個過程叫包裝類,中間的藍色字是隱式發(fā)生的,新建一個數(shù)字對象,讓這個數(shù)字對象的len等于3,這步完事就被刪除
下一次系統(tǒng)又訪問len,這次的new number和前面的不一樣了,前面的已經(jīng)被銷毀了,新建的這個沒有l(wèi)en了,num本身沒有l(wèi)ength屬性,所以返回結(jié)果undefined
即上述隱式的中間環(huán)節(jié)叫做包裝類
例2:
結(jié)果是abcd,因為上面已經(jīng)用過length=2了且銷毀
如果console.log(str.length)結(jié)果為4::隱式訪問new String('abcd').length string本身就有l(wèi)ength屬性
例3:
前兩行執(zhí)行結(jié)果為abc1,仍為字符串,typeof返回str的類型string,長度為6,但是test是原始值,所以要執(zhí)行先調(diào)用包裝類,用完刪除,最后輸出時再次調(diào)用,,但是已經(jīng)被刪除,最終返回結(jié)果undefined
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
javascript開發(fā)技術(shù)大全 第4章 直接量與字符集
直接量就是在程序中顯示出來的數(shù)值。javascript直接量包括:字符串、數(shù)字、布爾、數(shù)組、函數(shù)、對象、和特殊直接2011-07-07JavaScript中的lastIndexOf()方法使用詳解
這篇文章主要介紹了JavaScript中的lastIndexOf()方法使用詳解,是JS入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-06-06javascript scrollLeft,scrollWidth,clientWidth,offsetWidth 完全
javascript scrollLeft,scrollWidth,clientWidth,offsetWidth 完全詳解,實例修正版。2009-07-07