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

資訊專欄INFORMATION COLUMN

Javascript權(quán)威指南--每日一讀(對象啊~找對象啊~)

Lucky_Boy / 673人閱讀

摘要:創(chuàng)建對象創(chuàng)建對象直接量,。原型每一個(gè)對象除了都和另一個(gè)對象原型相關(guān)聯(lián),每個(gè)對象都從原型繼承屬性。前邊寫過的一個(gè)函數(shù)找到中的找到結(jié)果是,之前提到的不會修改原型鏈。屬性訪問錯(cuò)誤拋出異常,因?yàn)闆]有屬性。存取器屬性讀取寫入可枚舉性可配置性。

1.創(chuàng)建對象

創(chuàng)建:對象直接量、new、Object,create()。

原型:每一個(gè)對象(除了null)都和另一個(gè)對象(原型)相關(guān)聯(lián),每個(gè)對象都從原型繼承屬性(prototype)。

//例如
new Array()、[]
//創(chuàng)建的對象都繼承自Array.prototype;
//Array.prototype又繼承自O(shè)bject.prototype,由此構(gòu)成的一系列………………………………就是原型鏈。

創(chuàng)建對象create()的用法:

//create():
var o = Object.create({a:1,b:2});
//如果create(null)的話,他創(chuàng)建的對象不繼承任何。
var o1 = Object.create(Object.prototype);
//這樣則和new Object()相同。

//通過原型創(chuàng)建新對象(模擬原型繼承)
function inherit(p){
    if(p == null){
        throw TypeError();
    }
    if(Object.create){
        return Object.create(p);
    }
    var t = typeOf p;
    if(t != "object" && t != "function){
        throw TypeError();
    }
    function f(){};
    f.prototype = p;
    return new f();
}

2.繼承

what is
it?:假設(shè)一個(gè)對象obj,并查找他的屬性o1,如果obj中存在則找到,如果不存在會在obj的原型中查找,如果還木有就在原型對象的原型上邊查找,知道找到了或者原型為null了。

var obj = {};
obj.o1 = 1;
var p = inherit(obj)//前邊寫過的一個(gè)函數(shù);
p.o2 = 2;
p.o1 = 2;
console.log(p.toString());//找到Object.prototype中的toString();
console.log(p.o1);//找到obj.prototype,結(jié)果是3,之前提到的不會修改原型鏈。

屬性訪問錯(cuò)誤:

var obj = {};
console.log(obj.v.length);//拋出異常,因?yàn)閡ndefined沒有l(wèi)ength屬性。
//可以用下邊的方法↓
var len = obj&&obj.v&&obj.v.length;
//利用&&的“短路性”,并在有操作值為true的時(shí)候返回其返回值。

3.刪除屬性

delete不可以刪除繼承屬性,要?jiǎng)h除就要在原型對象上刪除,并且會影響所有繼承它的對象。

var obj = {a:1};
delete obj.a;//delete obj["a"];刪除a屬性;
delete obj.b;//true
delete obj.toString();//true
delete 1;//true

4.檢測屬性

in運(yùn)算符:檢測對象以及對象原型鏈上是否有某屬性;

hasOwnProperty:檢測對象本身是否有某屬性;

propertyIsEnumerable:檢測對象本身是否有某可枚舉屬性;

!==運(yùn)算符:通過判斷屬性是否!==undefined;

5.枚舉屬性

for/in枚舉:會枚舉出自行添加的屬性,須進(jìn)行判斷;

//通過判斷來枚舉
for(var i in obj){
    if(!obj.hasOwnProperty(i)) continue;
}
//通過extend來枚舉↓一個(gè)不是很完善的extend
function extend(obj,obj1){
    for(var i in obj1){
        obj[i] = obj1[i]
    }
    return obj;
}

Object.keys()枚舉:ES5;

Object.getOwnPropertyNames()枚舉:ES5。

5.getter和setter

獲取和設(shè)置屬性的方法

  var obj = {
     val:100,
     get getval(){
         return this.val;
     },
     set setval(x){
         this.val = x;
     }
 }

6.屬性的特性

數(shù)據(jù)屬性:值、可寫性、可枚舉性、可配置性。

存取器屬性:讀取、寫入、可枚舉性、可配置性。

通過Object.getOwnPropertyDescriptor()來獲取自有特性。

通過definedProperty()/definedProperties()設(shè)置屬性的特性。

Stronger的extend();

Object.defineProperty(Object.prototype,"extend",{
    writable:true,
    emuerable:false,
    configration:true,
    value:function(obj){
        var names = Object.getOwnPropertyNames(obj);
        for(var i = 0 ; i 

getter&setter老得API,非標(biāo)準(zhǔn)方法

_lookupGetter_
_lookupSetter_
_defineGetter_
_defineSetter_

7.原型屬性

用Object.getPrototypeOf()查詢原型。

未完~~~

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

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

相關(guān)文章

  • Javascript權(quán)威指南--每日一讀(類型、值、變量)

    摘要:直接量啥意思直接量就是直接用到的數(shù)據(jù)例如等等。標(biāo)識符與保留字啥東西標(biāo)識符簡單講就是用來對變量和函數(shù)進(jìn)行命名的,標(biāo)識符不可以以數(shù)字開頭,可以使用字母和和開頭。數(shù)字表示不區(qū)分整數(shù)和浮點(diǎn)數(shù)。范圍精度有限,超出無意義。 1. 直接量 啥意思?直接量就是直接用到的數(shù)據(jù)~ 例如:10,100,1.1,Hello Word,true,false等等。 2. 標(biāo)識符與保留字 啥東西?標(biāo)識符簡單講就...

    Soarkey 評論0 收藏0
  • Javascript權(quán)威指南--每日一讀(語句)

    摘要:和都是循環(huán)語句,不同的是檢測表達(dá)式的位置。語句異常語句,所謂異常語句是發(fā)生異常或錯(cuò)誤的一個(gè)標(biāo)志或信號。拋出異常就是指這個(gè)狀況,捕獲異常實(shí)是指處理的過程。語句異常處理機(jī)制。語句嚴(yán)格模式中禁止使用語句。 1.switch語句 語句都很熟悉的啦,只是提一句。switch中的case語句匹配的規(guī)則實(shí)際上是===而非簡單的==比較,case匹配不會做任何的類型轉(zhuǎn)換的。 2.while和do/wh...

    CastlePeaK 評論0 收藏0
  • Javascript權(quán)威指南--每日一讀(表達(dá)式、運(yùn)算符)

    摘要:是一個(gè)函數(shù)還是一個(gè)運(yùn)算符是一個(gè)函數(shù)但已經(jīng)被當(dāng)成運(yùn)算符對待了。運(yùn)算符通過其判斷一個(gè)對象是否是一個(gè)類的實(shí)例的時(shí)候,判斷會包含對父類的檢測。運(yùn)算符或?qū)τ谒袑ο蠖紩祷囟抢缦胍獏^(qū)分和用用上邊的吧。 1.evel是一個(gè)函數(shù)還是一個(gè)運(yùn)算符? 是一個(gè)函數(shù)但已經(jīng)被當(dāng)成運(yùn)算符對待了。 evel如果傳入一個(gè)非字符串則返回此參數(shù),如是字符串則解析這段字符串。 2.instanceof運(yùn)算符: 通...

    mylxsw 評論0 收藏0
  • 如果想成為一名頂尖的前端,這份書單你一定要收藏!

    摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開發(fā)指南讀了一半,就是看這本書理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢的書。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì) 發(fā)表于云+社區(qū)專欄作者:link 2014年一月以來,自己接觸web前端開發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過的,以及道聽途說的一些書,基本上按照由淺入深來介紹...

    callmewhy 評論0 收藏0
  • 如果想成為一名頂尖的前端,這份書單你一定要收藏!

    摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開發(fā)指南讀了一半,就是看這本書理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢的書。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì) 發(fā)表于云+社區(qū)專欄作者:link 2014年一月以來,自己接觸web前端開發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過的,以及道聽途說的一些書,基本上按照由淺入深來介紹...

    Scliang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<