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

資訊專欄INFORMATION COLUMN

《JavaScript模式》讀書筆記(二)字面量和構(gòu)造函數(shù)

_Zhao / 751人閱讀

摘要:對象字面量定義一個空對象這里的空指的是其自身屬性為空,對象繼承了的屬性和方法添加屬性方法完全刪除屬性方法自定義構(gòu)造函數(shù)用操作符調(diào)用構(gòu)造函數(shù)時,函數(shù)內(nèi)部會發(fā)發(fā)生以下情況創(chuàng)建一個新對象,并且引用了該對象并繼承了該函數(shù)的原型屬性和方法被加入到的引

對象字面量
//定義一個空對象,這里的空指的是其自身屬性為空,dog對象繼承了Object.prototype的屬性和方法
var dog={}

//添加屬性/方法
dog.name="Beijing"
dog.getName= function(){
    return this.name
}
//完全刪除屬性/方法
delete dog.name
自定義構(gòu)造函數(shù)

用new操作符調(diào)用構(gòu)造函數(shù)時,函數(shù)內(nèi)部會發(fā)發(fā)生以下情況:

創(chuàng)建一個新對象,并且this引用了該對象并繼承了該函數(shù)的原型

屬性和方法被加入到this的引用中

新創(chuàng)建的對象由this引用最后隱式的返回this(或顯式的返回其它對象)

var Person = function (name) {
    //使用字面量的方法添加一個新對象
    //var this = {}
    
    //向this添加指定的方法和屬性
    this.name = name
    
    //return this
}
自調(diào)用構(gòu)造函數(shù)

構(gòu)造函數(shù)的調(diào)用方法為new調(diào)用,但有時候我們會忘記用new操作,就會報undefinde,為了防止這個我們可以在構(gòu)造函數(shù)中檢查this是否為構(gòu)造函數(shù)的實例,如果為否構(gòu)造函數(shù)可以再次調(diào)用自身

function Preson(){
    if(!(this instanceof Person)){
        return new Person()
    }
    //一些操作
}

//另一種方法是于arguments.callee進行比較
if(!(this instanceof arguments.callee)){
    return new arguments.callee()
}

每個函數(shù)內(nèi)部,當(dāng)該函數(shù)被調(diào)用時就會創(chuàng)建一個名為arguments的對象,該對象包含傳遞給該函數(shù)的所有參數(shù),arguments對象有一個名為callee的函數(shù),該函數(shù)會指向被調(diào)用的函數(shù),需要注意的是ES5的嚴格模式不支持callee

檢查數(shù)組性質(zhì)

typeof(數(shù)組)會返回‘Object’,當(dāng)我們需要名確一個對象是否為數(shù)組時,這個方法就不合適了
我們可以
1、instanceof Array
2、ES5定義的Array.isArray()
3、Object.prototype.toString()

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

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

相關(guān)文章

  • javascript高級程序設(shè)計》第六章 讀書筆記javascript對象的幾種創(chuàng)建方式

    摘要:三種使用構(gòu)造函數(shù)創(chuàng)建對象的方法和的作用都是在某個特殊對象的作用域中調(diào)用函數(shù)。這種方式還支持向構(gòu)造函數(shù)傳遞參數(shù)。叫法上把函數(shù)叫做構(gòu)造函數(shù),其他無區(qū)別適用情境可以在特殊的情況下用來為對象創(chuàng)建構(gòu)造函數(shù)。 一、工廠模式 工廠模式:使用字面量和object構(gòu)造函數(shù)會有很多重復(fù)代碼,在此基礎(chǔ)上改進showImg(https://segmentfault.com/img/bVbmKxb?w=456&...

    xiaotianyi 評論0 收藏0
  • 讀書筆記】《高性能JavaScript

    摘要:性能訪問字面量和局部變量的速度是最快的,訪問數(shù)組和對象成員相對較慢變量標(biāo)識符解析過程搜索執(zhí)行環(huán)境的作用域鏈,查找同名標(biāo)識符。建議將全局變量存儲到局部變量,加快讀寫速度。優(yōu)化建議將常用的跨作用域變量存儲到局部變量,然后直接訪問局部變量。 缺陷 這本書是2010年出版的,這本書談性能是有時效性的,現(xiàn)在馬上就2018年了,這幾年前端發(fā)展的速度是飛快的,書里面還有一些內(nèi)容考慮IE6、7、8的東...

    chengjianhua 評論0 收藏0
  • JavaScript語言精粹 修訂版》 讀書筆記

    摘要:于是我就先把這本薄的經(jīng)典書語言精粹修訂版豆瓣讀書本書簡介總共章,除去附錄,才頁,讀完并記錄了一些筆記。讀書筆記還可以分享給別人看。編程語言第版定義了的標(biāo)準(zhǔn)。程序檢查時丟棄值為函數(shù)的屬性。 之前看到這篇文章,前端網(wǎng)老姚淺談:怎么學(xué)JavaScript?,說到怎么學(xué)習(xí)JavaScript,那就是看書、分析源碼。10本書讀2遍的好處,應(yīng)該大于一本書讀20遍??磿鲃訉W(xué)習(xí),看視頻是被動學(xué)習(xí)???..

    EscapedDog 評論0 收藏0
  • JavaScript 語言精粹》讀書筆記 - 函數(shù)

    摘要:語言精粹讀書筆記第四章函數(shù)函數(shù)字面量函數(shù)字面量包含個部分第一部分,保留字第二部分,函數(shù)名,它可以被忽略。這個超級延遲綁定使得函數(shù)對高度復(fù)用。構(gòu)造器調(diào)用模式一個函數(shù),如果創(chuàng)建的目的就是希望結(jié)合的前綴來調(diào)用,那它就被稱為構(gòu)造器構(gòu)造。 《JavaScript 語言精粹》 讀書筆記 第四章 函數(shù) Functions 函數(shù)字面量 函數(shù)字面量包含4個部分: 第一部分, 保留字 function...

    wdzgege 評論0 收藏0
  • 《高性能javascript讀書筆記-第章 數(shù)據(jù)存取

    摘要:局部變量位于作用域鏈的起始位置,因此訪問速度最快全局變量位于作用域鏈的最末端,因此訪問速度最慢。如訪問時間實例屬性第一層原型屬性第二層原型屬性在同一個函數(shù)中沒必要多次讀取同一個對象成員,建議第一次查詢到值后就將其存儲在局部變量中。 javascript中有四種基本的數(shù)據(jù)存取位置:字面量、變量、數(shù)組元素、對象成員。 1.訪問字面量和局部變量的速度最快,訪問數(shù)組元素和對象成員相對較慢。 2...

    everfight 評論0 收藏0

發(fā)表評論

0條評論

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