成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

讀javascript語言精髓筆記

baukh789 / 442人閱讀

摘要:對(duì)象默認(rèn)值填充對(duì)象屬性不存在時(shí),使用運(yùn)算符填充屬性不確定時(shí)避免報(bào)錯(cuò)當(dāng)檢索一個(gè)的值時(shí),可以通過運(yùn)算符來避免錯(cuò)誤。例報(bào)錯(cuò)先檢索是否為,后避免執(zhí)行后面報(bào)錯(cuò)檢測(cè)對(duì)象中是否存在該屬性,不會(huì)查找該對(duì)象的原型鏈。

對(duì)象 默認(rèn)值填充

對(duì)象屬性不存在時(shí),使用||運(yùn)算符填充:obj.name||"lpp"

object屬性不確定時(shí)避免報(bào)錯(cuò)

當(dāng)檢索一個(gè)undefined的值時(shí),可以通過 &&運(yùn)算符來避免錯(cuò)誤。
例:

let obj ={};
obj.name //undefined
obj.name.frist //報(bào)錯(cuò)
obj.name && obj.name.frist //先檢索 obj.name是否為undefined ,false后避免執(zhí)行后面報(bào)錯(cuò)
hasOwnproperty

檢測(cè)對(duì)象中是否存在該屬性,不會(huì)查找該對(duì)象的原型鏈。

最小化使用全局變量

在全局創(chuàng)建空的對(duì)象

var MYAPP = {}; //讓該空對(duì)象作為唯一的全局對(duì)象
MYAPP.WriteCode = {
    //babala
}

最小化使用全局變量可以減少全局污染、降低和其他庫框架的重名互相影響

給類型添加方法

Object.prototype可以給所有構(gòu)造函數(shù)對(duì)象添加方法

Object.prototype.showA = function () {
    console.log(this.a)
}
let o = {a : 1};
o.showA(); //1
 //屆時(shí),想到了jquery里的封裝
  $(el).on("click",function(){
    console.log(1)
 }) 

嘗試實(shí)現(xiàn):

首先對(duì)象是一個(gè)dom對(duì)象,其次聲明了一個(gè)on函數(shù),里面兩個(gè)參數(shù)分別是事件和匿名函數(shù);
那么先從dom對(duì)象入手,給該函數(shù)添加方法必須找到該對(duì)象實(shí)例的構(gòu)造函數(shù),在控制臺(tái)輸入 document.__proto__找到 HTMLElement 再比如

"str".__proto__ : String //這樣就找到該對(duì)象實(shí)例的構(gòu)造函數(shù)
HTMLElement.prototype.on = function(evt,fun){
   this[evt] = fun;
}
el.on("onclick",function(){
    console.log("balabla");
})
模塊 通過函數(shù)和閉包來構(gòu)造模塊
模塊模式的一般形式是:一個(gè)定義了私有變量和函數(shù)的函數(shù),利用閉包創(chuàng)建可以訪問私有變量和函數(shù)的特權(quán)函數(shù);最后返回這個(gè)特權(quán)函數(shù),或者把他們保存到一個(gè)可訪問的地方。

利:摒棄全局變量減少全局變量污染、安全促使信息隱藏、讓思路清晰明了

例():

//做飯  foodMaterial spice為私有屬性
let cook = function(){
    let FoodMaterial = "Tomatoes"; //食材:西紅柿
    let Spice = "食用鹽"; //作料:食用鹽
    return {
        buy:function(){
            console.log("購買" + FoodMaterial + "和" + "Spice" );
        },
        doFood:function(){
            console.log(`開始做${FoodMaterial}`);
        }
    }
}
let o = cook();
o.buy();//購買Tomatoes和Spice
o.doFood();//開始做Tomatoes                                  
突然想吃肉,不吃西紅柿了
//做飯 
let cook = function(){
    let FoodMaterial = "Tomatoes"; //食材:西紅柿
    let Spice = "食用鹽"; //作料:食用鹽
    return {
        buy:function(){
            console.log("購買" + FoodMaterial + "和" + "Spice" );
        },
        doFood:function(){
            console.log(`開始做${FoodMaterial}`);
        },
        setFood:function(food){
            //未傳參則不執(zhí)行賦值
            food && (FoodMaterial = food);
        }
    }
}
let o = cook();
o.setFood("肉");
o.buy();    //購買肉和Spice
o.doFood();//開始做肉     
可以使用傳參的形式改變函數(shù)內(nèi)的變量

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/96721.html

相關(guān)文章

  • 說說我的web前端之路,分享些前端的好書

    摘要:推薦高性能網(wǎng)站建設(shè)指南高性能網(wǎng)站建設(shè)進(jìn)階指南理由在讀完前幾本書之后我們對(duì)前端的性能和自己的代碼的效率已經(jīng)達(dá)到相當(dāng)?shù)母叨攘?,然后我們?cè)诮佑|一些前端工程師的一些精髓。   WEB前端研發(fā)工程師,在國(guó)內(nèi)算是一個(gè)朝陽職業(yè),這個(gè)領(lǐng)域沒有學(xué)校的正規(guī)教育,大多數(shù)人都是靠自己自學(xué)成才。本文主要介紹自己從事web開發(fā)以來(從大二至今)看過的書籍和自己的成長(zhǎng)過程,目的是給想了解JavaScript或者是剛...

    PascalXie 評(píng)論0 收藏0
  • 說說我的web前端之路,分享些前端的好書

    摘要:推薦高性能網(wǎng)站建設(shè)指南高性能網(wǎng)站建設(shè)進(jìn)階指南理由在讀完前幾本書之后我們對(duì)前端的性能和自己的代碼的效率已經(jīng)達(dá)到相當(dāng)?shù)母叨攘?,然后我們?cè)诮佑|一些前端工程師的一些精髓。   WEB前端研發(fā)工程師,在國(guó)內(nèi)算是一個(gè)朝陽職業(yè),這個(gè)領(lǐng)域沒有學(xué)校的正規(guī)教育,大多數(shù)人都是靠自己自學(xué)成才。本文主要介紹自己從事web開發(fā)以來(從大二至今)看過的書籍和自己的成長(zhǎng)過程,目的是給想了解JavaScript或者是剛...

    Integ 評(píng)論0 收藏0
  • 說說我的web前端之路,分享些前端的好書

    摘要:推薦高性能網(wǎng)站建設(shè)指南高性能網(wǎng)站建設(shè)進(jìn)階指南理由在讀完前幾本書之后我們對(duì)前端的性能和自己的代碼的效率已經(jīng)達(dá)到相當(dāng)?shù)母叨攘?,然后我們?cè)诮佑|一些前端工程師的一些精髓。   WEB前端研發(fā)工程師,在國(guó)內(nèi)算是一個(gè)朝陽職業(yè),這個(gè)領(lǐng)域沒有學(xué)校的正規(guī)教育,大多數(shù)人都是靠自己自學(xué)成才。本文主要介紹自己從事web開發(fā)以來(從大二至今)看過的書籍和自己的成長(zhǎng)過程,目的是給想了解JavaScript或者是剛...

    sugarmo 評(píng)論0 收藏0
  • 【轉(zhuǎn)】給年輕的前端程序員提升能力的幾條建議

    摘要:如果你問一個(gè)年輕的前端開發(fā)人員,你在今后的年內(nèi)如何提升自己的能力他可能會(huì)說我現(xiàn)在對(duì)前端比較熟悉,但我想深入了解,另外現(xiàn)在發(fā)展的很快我也想看一下。再舉一個(gè)例子,我會(huì)留意身邊的程序員所用的鍵盤。只有少部分的程序員會(huì)買高端的靜電容鍵盤,比如。 如果你問一個(gè)年輕的前端開發(fā)人員,你在今后的 3 年內(nèi)如何提升自己的能力?他可能會(huì)說我現(xiàn)在對(duì) Web 前端比較熟悉,但我想深入了解 AngularJS,...

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

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

0條評(píng)論

baukh789

|高級(jí)講師

TA的文章

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