在JavaScript中,this
關(guān)鍵字指向當(dāng)前執(zhí)行上下文的對象。它通常在對象方法中使用,表示該方法所屬的對象。
在函數(shù)中使用this
,它的值取決于函數(shù)是如何被調(diào)用的。有以下幾種情況:
- 普通函數(shù)調(diào)用:在普通函數(shù)中,
this
指向全局對象(在瀏覽器中是window
)。
function func() {
console.log(this); // 輸出全局對象
}
func();
- 方法調(diào)用:在對象的方法中使用
this
,它指向調(diào)用該方法的對象。
var obj = {
name: 'John',
sayHello: function() {
console.log('Hello, ' + this.name); // 輸出 Hello, John
}
};
obj.sayHello();
- 構(gòu)造函數(shù)調(diào)用:在構(gòu)造函數(shù)中,
this
指向新創(chuàng)建的對象實例。
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();
- 箭頭函數(shù):箭頭函數(shù)不綁定自己的
this
值,它繼承自父執(zhí)行上下文。這意味著箭頭函數(shù)中的this
值取決于它被定義時的上下文,而不是它被調(diào)用時的上下文。例如:
var obj = {
name: 'John',
sayHello: () = > {
console.log('Hello, ' + this.name); // 輸出 undefined
}
};
obj.sayHello();
在這個例子中,箭頭函數(shù)沒有自己的this
值,所以它繼承了父執(zhí)行上下文的this
值,即obj
對象。因此,在箭頭函數(shù)中使用this
,它指向的是obj
對象,而不是箭頭函數(shù)本身。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
瀏覽器
+關(guān)注
關(guān)注
1文章
1036瀏覽量
35554 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4346瀏覽量
63018 -
javascript
+關(guān)注
關(guān)注
0文章
525瀏覽量
53975 -
this
+關(guān)注
關(guān)注
0文章
5瀏覽量
3273
發(fā)布評論請先 登錄
相關(guān)推薦
JavaScript教程
JavaScript教程:JavaScript是由Netscape公司開發(fā)并隨Navigator導(dǎo)航者一起發(fā)布的、介于Java與HTML之間、基于對象事件驅(qū)動的編程語言,正日益受到全球的關(guān)注。因它
發(fā)表于 10-21 09:17
JavaScript無處不在
幾年前,我從來沒有想過現(xiàn)在的JavaScript竟然會變得幾乎無處不在。下面是幾個要關(guān)注JavaScript的原因。首先,我認為JavaScript能夠得到普及的主要原因之一是,JavaScr
發(fā)表于 01-10 16:54
JavaScript中的Object
1. 對象的定義?向?qū)ο蟮恼Z?都有一個標(biāo)志,即類。定義:對象是 JavaScript 的一個基本數(shù)據(jù)類型,是?種復(fù)合值,它將很多值(原始值或者其他對象)聚合在一起,可通過名字訪問這些值。即屬性的無序
發(fā)表于 09-18 09:05
JavaScript中的this是什么?
this 是什么?this 是 JavaScript 中的?個關(guān)鍵字,MDN 這樣解釋:this 是指當(dāng)前執(zhí)行代碼的環(huán)境對象。根據(jù)語義,我這里把它理解為 ”引用指針“ 。this 的?法?在大樹云
發(fā)表于 09-18 09:05
JavaScript 簡介
## JavaScript 簡介 [點擊這里學(xué)習(xí)更多JavaScript知識 ],或搜索 jsrunJavaScript 是世界上最流行的編程語言。這門語言可用于 HTML 和 web,更可廣泛用于
發(fā)表于 09-09 17:30
JavaScript源碼大全(CHM)
JavaScript源碼大全:
簡介:本軟件為Javascript共享教學(xué)軟件,包含各種Javascript源碼及演示,力求豐富易懂。
發(fā)表于 12-08 10:30
?0次下載
![<b class='flag-5'>JavaScript</b>源碼大全(CHM)](https://file.elecfans.com/web2/M00/48/8B/pYYBAGKhtAyADF79AABKI95o4IY256.jpg)
可視化的javascript開發(fā)工具
Netscape Visual JavaScript Netscape出品可視化的javascript開發(fā)工具。
同時可以下載Visual javascript Component Developers Kit和
發(fā)表于 03-31 14:34
?13次下載
JavaScript語言基礎(chǔ)
JavaScript關(guān)鍵字(Reserved Words)是指在JavaScript語言中有特定含義,成為JavaScript語法中一部分的那些字。JavaScript關(guān)鍵字是不能作為
發(fā)表于 04-03 16:58
?8次下載
JavaScript JavaScript是什么語言
JavaScript是屬于開發(fā)Web頁面的腳本編程語言,是一種具有函數(shù)優(yōu)先的輕量級編程語言。JavaScript基于原型編程、多范式的動態(tài)腳本語言,并且支持面向語言、命令式、聲明式、函數(shù)式編程范式。
javascript怎么開啟
在瀏覽器中啟用 JavaScript 的方法如下: 在瀏覽器中啟用 JavaScript 對于大多數(shù)瀏覽器,您可以在瀏覽器的設(shè)置或選項中啟用 JavaScript。以下是一些常見瀏覽器的啟用步驟
javascript可以關(guān)閉嗎
**JavaScript是一種編程語言,它不能被“關(guān)閉”。**JavaScript是一種客戶端腳本語言,它通常嵌入在HTML頁面中。當(dāng)用戶訪問一個包含JavaScript的網(wǎng)頁時,瀏覽器會執(zhí)行這些
javascript:;怎么解決
“javascript:” 是一個JavaScript偽協(xié)議,它通常出現(xiàn)在URL地址欄或鏈接中,用于執(zhí)行JavaScript代碼。然而,有時它可能會導(dǎo)致一些問題,特別是在一些不支持
JavaScript的用途和功能
JavaScript是一種廣泛使用的腳本語言,用于為網(wǎng)站添加動態(tài)功能和交互性。從創(chuàng)建簡單的交互式表單到設(shè)計復(fù)雜的網(wǎng)頁游戲,JavaScript為開發(fā)者提供了豐富的功能和靈活的創(chuàng)作能力。它在現(xiàn)代的網(wǎng)頁
javascript屬于前端嗎
JavaScript是一種高級編程語言,通常用于網(wǎng)頁開發(fā)。它是一種腳本語言,可用于在網(wǎng)頁上動態(tài)交互,提供更好的用戶體驗。JavaScript是一種廣泛使用的技術(shù),幾乎所有現(xiàn)代網(wǎng)頁都使用它來實現(xiàn)交互性
javascript:void(0) 是否影響SEO優(yōu)化
GoogleBot)在解析網(wǎng)頁時,會嘗試?yán)斫饷總€鏈接的目的和指向。然而,當(dāng)爬蟲遇到 javascript:void(0) 這樣的偽URL時,它無法確定這個鏈接的真實意圖或指向的具體內(nèi)容。因此,這樣的鏈接
評論