在JavaScript中,this
關鍵字指向當前執行上下文的對象。它通常在對象方法中使用,表示該方法所屬的對象。
在函數中使用this
,它的值取決于函數是如何被調用的。有以下幾種情況:
- 普通函數調用:在普通函數中,
this
指向全局對象(在瀏覽器中是window
)。
function func() {
console.log(this); // 輸出全局對象
}
func();
- 方法調用:在對象的方法中使用
this
,它指向調用該方法的對象。
var obj = {
name: 'John',
sayHello: function() {
console.log('Hello, ' + this.name); // 輸出 Hello, John
}
};
obj.sayHello();
- 構造函數調用:在構造函數中,
this
指向新創建的對象實例。
function Person(name) {
this.name = name;
this.age = 0;
}
Person.prototype.sayHello = function() {
console.log('Hello, ' + this.name); // 輸出 Hello, John
};
var john = new Person('John');
john.sayHello();
- 箭頭函數:箭頭函數不綁定自己的
this
值,它繼承自父執行上下文。這意味著箭頭函數中的this
值取決于它被定義時的上下文,而不是它被調用時的上下文。例如:
var obj = {
name: 'John',
sayHello: () = > {
console.log('Hello, ' + this.name); // 輸出 undefined
}
};
obj.sayHello();
在這個例子中,箭頭函數沒有自己的this
值,所以它繼承了父執行上下文的this
值,即obj
對象。因此,在箭頭函數中使用this
,它指向的是obj
對象,而不是箭頭函數本身。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
瀏覽器
+關注
關注
1文章
1023瀏覽量
35331 -
函數
+關注
關注
3文章
4329瀏覽量
62575 -
javascript
+關注
關注
0文章
516瀏覽量
53851 -
this
+關注
關注
0文章
5瀏覽量
3256
發布評論請先 登錄
相關推薦
JavaScript教程
JavaScript教程:JavaScript是由Netscape公司開發并隨Navigator導航者一起發布的、介于Java與HTML之間、基于對象事件驅動的編程語言,正日益受到全球的關注。因它
發表于 10-21 09:17
JavaScript無處不在
幾年前,我從來沒有想過現在的JavaScript竟然會變得幾乎無處不在。下面是幾個要關注JavaScript的原因。首先,我認為JavaScript能夠得到普及的主要原因之一是,JavaScr
發表于 01-10 16:54
JavaScript中的Object
1. 對象的定義?向對象的語?都有一個標志,即類。定義:對象是 JavaScript 的一個基本數據類型,是?種復合值,它將很多值(原始值或者其他對象)聚合在一起,可通過名字訪問這些值。即屬性的無序
發表于 09-18 09:05
JavaScript中的this是什么?
this 是什么?this 是 JavaScript 中的?個關鍵字,MDN 這樣解釋:this 是指當前執行代碼的環境對象。根據語義,我這里把它理解為 ”引用指針“ 。this 的?法?在大樹云
發表于 09-18 09:05
JavaScript 簡介
## JavaScript 簡介 [點擊這里學習更多JavaScript知識 ],或搜索 jsrunJavaScript 是世界上最流行的編程語言。這門語言可用于 HTML 和 web,更可廣泛用于
發表于 09-09 17:30
JavaScript源碼大全(CHM)
JavaScript源碼大全:
簡介:本軟件為Javascript共享教學軟件,包含各種Javascript源碼及演示,力求豐富易懂。
發表于 12-08 10:30
?0次下載
可視化的javascript開發工具
Netscape Visual JavaScript Netscape出品可視化的javascript開發工具。
同時可以下載Visual javascript Component Developers Kit和
發表于 03-31 14:34
?13次下載
JavaScript語言基礎
JavaScript關鍵字(Reserved Words)是指在JavaScript語言中有特定含義,成為JavaScript語法中一部分的那些字。JavaScript關鍵字是不能作為
發表于 04-03 16:58
?8次下載
JavaScript JavaScript是什么語言
JavaScript是屬于開發Web頁面的腳本編程語言,是一種具有函數優先的輕量級編程語言。JavaScript基于原型編程、多范式的動態腳本語言,并且支持面向語言、命令式、聲明式、函數式編程范式。
javascript怎么開啟
在瀏覽器中啟用 JavaScript 的方法如下: 在瀏覽器中啟用 JavaScript 對于大多數瀏覽器,您可以在瀏覽器的設置或選項中啟用 JavaScript。以下是一些常見瀏覽器的啟用步驟
javascript有什么用
JavaScript是一種廣泛使用的編程語言,主要用于增強網頁和創建動態網頁內容。以下是JavaScript的一些主要用途: 交互性:JavaScript可以使網頁具有交互性。例如,當用戶點擊按鈕或
javascript可以關閉嗎
**JavaScript是一種編程語言,它不能被“關閉”。**JavaScript是一種客戶端腳本語言,它通常嵌入在HTML頁面中。當用戶訪問一個包含JavaScript的網頁時,瀏覽器會執行這些
javascript:;怎么解決
“javascript:” 是一個JavaScript偽協議,它通常出現在URL地址欄或鏈接中,用于執行JavaScript代碼。然而,有時它可能會導致一些問題,特別是在一些不支持
JavaScript的用途和功能
JavaScript是一種廣泛使用的腳本語言,用于為網站添加動態功能和交互性。從創建簡單的交互式表單到設計復雜的網頁游戲,JavaScript為開發者提供了豐富的功能和靈活的創作能力。它在現代的網頁
javascript屬于前端嗎
JavaScript是一種高級編程語言,通常用于網頁開發。它是一種腳本語言,可用于在網頁上動態交互,提供更好的用戶體驗。JavaScript是一種廣泛使用的技術,幾乎所有現代網頁都使用它來實現交互性
評論