摘要:是什么是一個特別的關鍵字可以用在構造函數之中,表示實例對象總是返回一個對象簡單說,就是屬性或方法當前所在的對象姓名姓名表示屬性所在的那個對象。
this 是什么
this是一個特別的關鍵字 this可以用在構造函數之中,表示實例對象 this總是返回一個對象
簡單說,this就是屬性或方法“當前”所在的對象
var person = { name: "Rookie", method: function () { return "姓名:"+ this.name; } }; person.method() //"姓名:Rookie"
this.name表示name屬性所在的那個對象。由于this.name是在method方法中調用,而method方法所在的當前對象是person,因此this指向person,this.name就是person.name。
因為對象的屬性可以賦給另一個對象,所以屬性所在的當前對象是可變的 ----> this的指向是可變的
var A = { name: "Rookie", method: function () { return "姓名:"+ this.name; } }; var B = { name: "BDD" }; B.method= A.method; B.method() // "姓名:BDD"使用場景 (1)全局環境
全局環境使用this,它指的就是頂層對象window
this === window // true function f() { console.log(this === window); } f() // true
不管是不是在函數內部,只要是在全局環境下運行,this就是指頂層對象window
(2)構造函數構造函數中的this,指的是實例對象。
var Obj = function (e) { this.e = e; }; var n=new Obj("HOLA"); console.log(n.e);
this指向實例對象,所以在構造函數內部定義this.e,就相當于定義實例對象有一個e屬性。
(3)對象的方法如果對象的方法里面包含this,this的指向就是方法運行時所在的對象。該方法賦值給另一個對象,就會改變this的指向。
var obj ={ foo: function () { console.log(this); } }; obj.foo() // obj
obj.foo方法執行時,它內部的this指向obj
var a = { p: "Hello", b: { m: function() { console.log(this.p); } } }; a.b.m() // undefined
如果this所在的方法不在對象的第一層,這時this只是指向當前一層的對象,而不會繼承更上面的層。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108488.html
摘要:出于這個原因,該函數返回的,所以在這里指的是,所以返回的是第一個說明關鍵字通常在對象的構造函數中使用,用來引用對象。重寫無法重寫,因為它是一個關鍵字。結論,表示當前的上下文對象是一個對象,可以調用對象所擁有的屬性,方法。 在《javaScript語言精粹》這本書中,把 this 出現的場景分為四類,簡單的說就是: 有對象就指向調用對象 沒調用對象就指向全局對象 用new構造就指向新對...
摘要:關鍵字關鍵字是什么關鍵字是中最復雜的機制之一。它是一個很特別的關鍵字,被定義在所有函數的作用域中。可以把這條規則看作是無法應用其他規則時的默認規則。取決于函數調用的位置注意事項避免多層避免數組方法中的避免回調函數中的 this關鍵字 this關鍵字是什么 this關鍵字是JavaScript中最復雜的機制之一。它是一個很特別的關鍵字,被定義在所有函數的作用域中。但是即使是非常有經驗的J...
摘要:原文鏈接參考深入理解原型和閉包完結王福朋博客園中的作用域詳解博客園 前言 王福朋老師的 JavaScript原型和閉包系列 文章看了不下三遍了,最為一個初學者,每次看的時候都會有一種 大徹大悟 的感覺,而看完之后卻總是一臉懵逼。原型與閉包 可以說是 JavaScirpt 中理解起來最難的部分了,當然,我也只是了解到了一些皮毛,對于 JavaScript OOP 更是缺乏經驗。這里我想總...
摘要:首先,必須搞清楚在里面,函數的幾種調用方式普通函數調用作為方法來調用作為構造函數來調用使用方法來調用方法箭頭函數但是不管函數是按哪種方法來調用的,請記住一點誰調用這個函數或方法關鍵字就指向誰。 本文主要解釋在JS里面this關鍵字的指向問題(在瀏覽器環境下)。 首先,必須搞清楚在JS里面,函數的幾種調用方式: 普通函數調用 作為方法來調用 作為構造函數來調用 使用apply/call...
在JavaScript中‘this’關鍵字是一個非常重要的概念,我們雖然知道它重要,但它也十分的晦澀難懂,也給我們學習造成不小的困擾。 什么是'this'關鍵字 'this'關鍵字是為每個執行上下文(每個函數)創建的一個特殊變量;所以一般來說,在使用'this'關鍵字的函數中,'this'永遠是取其所有者的值。總結一句話是該函...
閱讀 2488·2021-08-11 11:16
閱讀 2926·2019-08-30 15:55
閱讀 3332·2019-08-30 12:53
閱讀 1568·2019-08-29 13:28
閱讀 3264·2019-08-28 18:17
閱讀 936·2019-08-26 12:19
閱讀 2466·2019-08-23 18:27
閱讀 696·2019-08-23 18:17