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

資訊專欄INFORMATION COLUMN

你不知道的javascript (1) --- this

Corwien / 670人閱讀

摘要:的定義執(zhí)行上下文。這本書也是舉了好幾個例子來說明,這句話的含義。我個人也認為,不通過代碼,非常難說明問題。所以,修改的是全局的,并不是自身的。

this

先說明一下,this是我JavaScript的盲區(qū),寫這篇文章,就是為了讓自己能重新認識this,并且搞清楚,js里面的this,到底是什么。 這個系列主要是記錄我自己看《你不知道的JavaScript》這本書的筆記。

this的定義:執(zhí)行上下文。
這句話理解起來,很費勁。這本書也是舉了好幾個例子來說明,這句話的含義。我個人也認為,不通過代碼,非常難說明問題。

exp1:

function fn() {
    console.log("fn", this)
}

fn() 
// log: 
// fn, 
// Window?{postMessage: ?, blur: ?, focus: ?, close: ?, parent: Window,?…}

這個例子非常簡單,一般也能看出輸出的this是window,原因很簡單,這個fn是全局函數(shù),也是在全局作用域下運行的,所以執(zhí)行上下文,可以理解為執(zhí)行作用域,就是window。

exp2:

var count = 0;
function fn(num) {
    console.log("你說幾就幾:"+num)
    this.count += 5
}

fn.count=1

fn(2) // 你說幾就幾:2
console.log(fn.count) // 1
console.log(count) // 5

這個例子,執(zhí)行 fn.count 和 fn內(nèi)部的 this.count其實沒什么關(guān)系。因為fn在執(zhí)行的時候,執(zhí)行上下文還是window。所以,this.count += 5修改的是全局的count,并不是fn自身的count。

exp3:

function fn() {
    this.count = 1;
    function myFoo() {
        this.count +=2;
    }
    myFoo()
    console.log(this.count)
}
fn() // 3

未完待續(xù)。。。

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

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

相關(guān)文章

  • 你不知道javascript》筆記_this

    下一篇:《你不知道的javascript》筆記_對象&原型 寫在前面 上一篇博客我們知道詞法作用域是由變量書寫的位置決定的,那this又是在哪里確定的呢?如何能夠精準的判斷this的指向?這篇博客會逐條闡述 書中有這樣幾句話: this是在運行時進行綁定的,并不是在編寫時綁定,它的上下文取決于函數(shù)調(diào)用時的各種條件this的綁定和函數(shù)聲明的位置沒有任何關(guān)系,只取決于函數(shù)的調(diào)用方式當一個函數(shù)被調(diào)用時...

    cpupro 評論0 收藏0
  • 你不知道JavaScript》 (下) 閱讀摘要

    摘要:本書屬于基礎(chǔ)類書籍,會有比較多的基礎(chǔ)知識,所以這里僅記錄平常不怎么容易注意到的知識點,不會全記,供大家和自己翻閱不錯,下冊的知識點就這么少,非常不推介看下冊上中下三本的讀書筆記你不知道的上讀書筆記你不知道的中讀書筆記你不知道的下讀書筆記第三 本書屬于基礎(chǔ)類書籍,會有比較多的基礎(chǔ)知識,所以這里僅記錄平常不怎么容易注意到的知識點,不會全記,供大家和自己翻閱; 不錯,下冊的知識點就這么少,非...

    Jacendfeng 評論0 收藏0
  • 你不知道JavaScript》 (上) 閱讀摘要

    摘要:但是如果非全局的變量如果被遮蔽了,無論如何都無法被訪問到。但是如果引擎在代碼中找到,就會完全不做任何優(yōu)化。結(jié)構(gòu)的分句中具有塊級作用域。第四章提升編譯器函數(shù)聲明會被提升,而函數(shù)表達式不會被提升。 本書屬于基礎(chǔ)類書籍,會有比較多的基礎(chǔ)知識,所以這里僅記錄平常不怎么容易注意到的知識點,不會全記,供大家和自己翻閱; 上中下三本的讀書筆記: 《你不知道的JavaScript》 (上) 讀書筆記...

    FingerLiu 評論0 收藏0
  • 十分鐘快速了解《你不知道 JavaScript》(上卷)

    摘要:最近剛剛看完了你不知道的上卷,對有了更進一步的了解。你不知道的上卷由兩部分組成,第一部分是作用域和閉包,第二部分是和對象原型。附錄詞法這一章并沒有說明機制,只是介紹了中的箭頭函數(shù)引入的行為詞法。第章混合對象類類理論類的機制類的繼承混入。 最近剛剛看完了《你不知道的 JavaScript》上卷,對 JavaScript 有了更進一步的了解。 《你不知道的 JavaScript》上卷由兩部...

    趙春朋 評論0 收藏0
  • 你不知道this

    摘要:本內(nèi)容來自你不知道的上卷,做了簡單的總結(jié)。如果不使用這段代碼該如何寫呢那就需要給和顯示傳入一個上下文對象對比發(fā)現(xiàn)提供了額一種更優(yōu)雅的方式來隱式傳遞一個對象引用。四總結(jié)隨著你使用的模式越來越復雜,顯式傳遞上下文對象會讓代碼變得越來越混亂。 本內(nèi)容來自《你不知道的JavaScript(上卷)》,做了簡單的總結(jié)。 this關(guān)鍵字是javascript最復雜的機制之一。它是一個很特別的關(guān)鍵字,...

    terasum 評論0 收藏0

發(fā)表評論

0條評論

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