摘要:關鍵字是個常用的關鍵字它被自動生成在函數作用域里并代表函數執行環境的上下文如果在開發中不了解綁定在那個對象上會很容易出現綁定的規則默認綁定當函數獨立使用沒有對象屬性的引用進行調用會默認綁定在全局對象或使用嚴格模式隱形綁定當函數被某個對象的屬
this關鍵字
this是個常用的關鍵字,它被自動生成在函數作用域里.并代表函數執行環境的上下文.
如果在開發中,不了解this綁定在那個對象上,會很容易出現bug.
當函數獨立使用,(沒有對象屬性的引用進行調用).
this會默認綁定在全局對象或undefined.
var log = function () { console.log(this) } log() //window 使用嚴格模式 "use strict"; var log = function () { console.log(this) } log() //undefined隱形綁定
當函數被某個對象的屬性引用后調用.
this會綁定在該對象上.
var obj = { log: function () { console.log(this); } } obj.log() //obj顯性綁定
當函數調用時,指定函數的this綁定對象.
涉及的方法有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
顯性綁定的優先級比隱形綁定高
function log() { console.log(this.name) } var visibleObj = { name: "visible" } var hideObj = { name: "hide", log: log } hideObj.log.call(visibleObj) //visiblenew綁定
當實例一個構造函數時.
構造函數的this會綁定在實例上.
function construct(tag) { this.tag = tag; } var instance = new construct("instance") console.log(instance.tag) //instance
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95860.html
摘要:我們不能迷失在各種新技術里,主要我們就會把簡單的問題度復雜化了,會把我們的前端變的很復雜。我們的代碼變得怪異難懂我不知道從什么時候,前端的代碼寫的越難懂就越能顯示水平。 前端發展了也有些年頭了,曾記得很多年前,聊起前端,都覺得是很簡單,那個時候都沒有前端工程師這個職位。可現在,前端已經逆襲了,已經不是原來的樣子了,各種技術層出不窮,顯的越來越高深莫測了。前端真的變得那么難了嗎?在我看來...
摘要:我們不能迷失在各種新技術里,主要我們就會把簡單的問題度復雜化了,會把我們的前端變的很復雜。我們的代碼變得怪異難懂我不知道從什么時候,前端的代碼寫的越難懂就越能顯示水平。 前端發展了也有些年頭了,曾記得很多年前,聊起前端,都覺得是很簡單,那個時候都沒有前端工程師這個職位。可現在,前端已經逆襲了,已經不是原來的樣子了,各種技術層出不窮,顯的越來越高深莫測了。前端真的變得那么難了嗎?在我看來...
摘要:我們不能迷失在各種新技術里,主要我們就會把簡單的問題度復雜化了,會把我們的前端變的很復雜。我們的代碼變得怪異難懂我不知道從什么時候,前端的代碼寫的越難懂就越能顯示水平。 前端發展了也有些年頭了,曾記得很多年前,聊起前端,都覺得是很簡單,那個時候都沒有前端工程師這個職位。可現在,前端已經逆襲了,已經不是原來的樣子 了,各種技術層出不窮,顯的越來越高深莫測了。前端真的變得那么難了嗎?在我看...
閱讀 2158·2023-04-25 20:45
閱讀 1068·2021-09-22 15:13
閱讀 3642·2021-09-04 16:48
閱讀 2580·2019-08-30 15:53
閱讀 928·2019-08-30 15:44
閱讀 936·2019-08-30 15:43
閱讀 1002·2019-08-29 16:33
閱讀 3432·2019-08-29 13:08