摘要:關(guān)鍵字是個(gè)常用的關(guān)鍵字它被自動(dòng)生成在函數(shù)作用域里并代表函數(shù)執(zhí)行環(huán)境的上下文如果在開發(fā)中不了解綁定在那個(gè)對(duì)象上會(huì)很容易出現(xiàn)綁定的規(guī)則默認(rèn)綁定當(dāng)函數(shù)獨(dú)立使用沒有對(duì)象屬性的引用進(jìn)行調(diào)用會(huì)默認(rèn)綁定在全局對(duì)象或使用嚴(yán)格模式隱形綁定當(dāng)函數(shù)被某個(gè)對(duì)象的屬
this關(guān)鍵字
this是個(gè)常用的關(guān)鍵字,它被自動(dòng)生成在函數(shù)作用域里.并代表函數(shù)執(zhí)行環(huán)境的上下文.
如果在開發(fā)中,不了解this綁定在那個(gè)對(duì)象上,會(huì)很容易出現(xiàn)bug.
當(dāng)函數(shù)獨(dú)立使用,(沒有對(duì)象屬性的引用進(jìn)行調(diào)用).
this會(huì)默認(rèn)綁定在全局對(duì)象或undefined.
var log = function () { console.log(this) } log() //window 使用嚴(yán)格模式 "use strict"; var log = function () { console.log(this) } log() //undefined隱形綁定
當(dāng)函數(shù)被某個(gè)對(duì)象的屬性引用后調(diào)用.
this會(huì)綁定在該對(duì)象上.
var obj = { log: function () { console.log(this); } } obj.log() //obj顯性綁定
當(dāng)函數(shù)調(diào)用時(shí),指定函數(shù)的this綁定對(duì)象.
涉及的方法有call、apply和bind.
var log = function () { console.log(this) } var target = {} var bindLog = log.bind(target) bindLog() //target log.call(target) //target log.apply(target) //target
顯性綁定的優(yōu)先級(jí)比隱形綁定高
function log() { console.log(this.name) } var visibleObj = { name: "visible" } var hideObj = { name: "hide", log: log } hideObj.log.call(visibleObj) //visiblenew綁定
當(dāng)實(shí)例一個(gè)構(gòu)造函數(shù)時(shí).
構(gòu)造函數(shù)的this會(huì)綁定在實(shí)例上.
function construct(tag) { this.tag = tag; } var instance = new construct("instance") console.log(instance.tag) //instance
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/95860.html
摘要:我們不能迷失在各種新技術(shù)里,主要我們就會(huì)把簡(jiǎn)單的問題度復(fù)雜化了,會(huì)把我們的前端變的很復(fù)雜。我們的代碼變得怪異難懂我不知道從什么時(shí)候,前端的代碼寫的越難懂就越能顯示水平。 前端發(fā)展了也有些年頭了,曾記得很多年前,聊起前端,都覺得是很簡(jiǎn)單,那個(gè)時(shí)候都沒有前端工程師這個(gè)職位??涩F(xiàn)在,前端已經(jīng)逆襲了,已經(jīng)不是原來的樣子了,各種技術(shù)層出不窮,顯的越來越高深莫測(cè)了。前端真的變得那么難了嗎?在我看來...
摘要:我們不能迷失在各種新技術(shù)里,主要我們就會(huì)把簡(jiǎn)單的問題度復(fù)雜化了,會(huì)把我們的前端變的很復(fù)雜。我們的代碼變得怪異難懂我不知道從什么時(shí)候,前端的代碼寫的越難懂就越能顯示水平。 前端發(fā)展了也有些年頭了,曾記得很多年前,聊起前端,都覺得是很簡(jiǎn)單,那個(gè)時(shí)候都沒有前端工程師這個(gè)職位??涩F(xiàn)在,前端已經(jīng)逆襲了,已經(jīng)不是原來的樣子了,各種技術(shù)層出不窮,顯的越來越高深莫測(cè)了。前端真的變得那么難了嗎?在我看來...
摘要:我們不能迷失在各種新技術(shù)里,主要我們就會(huì)把簡(jiǎn)單的問題度復(fù)雜化了,會(huì)把我們的前端變的很復(fù)雜。我們的代碼變得怪異難懂我不知道從什么時(shí)候,前端的代碼寫的越難懂就越能顯示水平。 前端發(fā)展了也有些年頭了,曾記得很多年前,聊起前端,都覺得是很簡(jiǎn)單,那個(gè)時(shí)候都沒有前端工程師這個(gè)職位??涩F(xiàn)在,前端已經(jīng)逆襲了,已經(jīng)不是原來的樣子 了,各種技術(shù)層出不窮,顯的越來越高深莫測(cè)了。前端真的變得那么難了嗎?在我看...
閱讀 2175·2023-04-25 20:45
閱讀 1088·2021-09-22 15:13
閱讀 3660·2021-09-04 16:48
閱讀 2589·2019-08-30 15:53
閱讀 944·2019-08-30 15:44
閱讀 965·2019-08-30 15:43
閱讀 1016·2019-08-29 16:33
閱讀 3445·2019-08-29 13:08