js中this的用法實(shí)例分析
本文實(shí)例分析了js中this的用法。分享給大家供大家參考。具體分析如下:
實(shí)例1:第一種調(diào)用this的方法——以函數(shù)形式調(diào)用。它代表全局對(duì)象window
function t(){
alert(this);//這里this表示window對(duì)象。
}
t();
</script>
實(shí)例2:第二種調(diào)用this的方法——以對(duì)象屬性的形式調(diào)用。它代表該對(duì)象。實(shí)例中onclick為p元素對(duì)象的屬性
<head>
<script type="text/javascript">
function t(){
alert(this);
this.style.background = 'green';
}
window.onload = function(){
document.getElementById('eng').onclick = t;
}
</script>
</head>
<body>
<p id="eng">abcd</p>
</body>
</html>
實(shí)例3:第三種調(diào)用this的方法——以構(gòu)造器的方式調(diào)用。
function dog(){
this.legs = 4;
this.bark = function(){
alert("汪汪...");
}
}
var wangcai = new dog();//創(chuàng)建對(duì)象的方式。new 函數(shù)名();
wangcai.bark();
</script>
說(shuō)明:
(1)如果直接調(diào)用dog()函數(shù),而不是以創(chuàng)建對(duì)象的方式調(diào)用,則相當(dāng)于第一種調(diào)用了,即this代表著全局對(duì)象window。
(2)js中沒(méi)有類的概念,但是有對(duì)象的概念;
(3)對(duì)象的創(chuàng)建可以采用var = objName{name:'abc',age:40}這種方式創(chuàng)建,也可以通過(guò)構(gòu)造函數(shù)來(lái)創(chuàng)建;
(4)什么是構(gòu)造函數(shù):當(dāng)一個(gè)普通函數(shù)以“new 函數(shù)名()”的方式調(diào)用時(shí),此函數(shù)就充當(dāng)構(gòu)造函數(shù)。
實(shí)例4:第四種調(diào)用this的方法——call和apply方式
<head>
<script type="text/javascript">
window.onload = function(){
var d = document.getElementById('hi');
if(hi.addEventListener){//chrome 和 firefox
hi.addEventListener('click',function(){alert(this.id)},false);//w3c模型中,this指向DOM對(duì)象。this.id結(jié)果為hi
}else{// ie
hi.attachEvent('onclick',function(){alert(this.id)});//ie8及ie8以下,這里this指向全局對(duì)象window。結(jié)果this.id結(jié)果為undefined
}
}
</script>
</head>
<body>
<p id="hi">hello world</p>
</body>
</html>
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
- JS函數(shù)this的用法實(shí)例分析
- JS和jQuery通過(guò)this獲取html標(biāo)簽中的屬性值(實(shí)例代碼)
- javascript中this用法實(shí)例詳解
- JavaScript中的this實(shí)例分析
- js中this用法實(shí)例詳解
- javascript下動(dòng)態(tài)this與動(dòng)態(tài)綁定實(shí)例代碼
- javascript與jquery中的this關(guān)鍵字用法實(shí)例分析
- JavaScript中的this關(guān)鍵字介紹與使用實(shí)例
- JS作用域閉包、預(yù)解釋和this關(guān)鍵字綜合實(shí)例解析
- JavaScript中this的全面解析及常見實(shí)例
相關(guān)文章
javascript性能優(yōu)化之DOM交互操作實(shí)例分析
這篇文章主要介紹了javascript性能優(yōu)化之DOM交互操作技巧,結(jié)合實(shí)例形式總結(jié)分析了JavaScript針對(duì)DOM操作過(guò)程中的各種常見優(yōu)化操作技巧,需要的朋友可以參考下2015-12-12微信公眾平臺(tái)開發(fā)教程(四) 實(shí)例入門:機(jī)器人回復(fù)(附源碼)
本篇文章主要介紹了微信公眾平臺(tái)開發(fā)機(jī)器人,可以實(shí)現(xiàn)簡(jiǎn)單對(duì)話和查詢天氣等,有需要的可以了解一下。2016-12-12JavaScript實(shí)現(xiàn)數(shù)據(jù)可視化圖表的示例代碼
這篇文章主要介紹了如何使用JavaScript創(chuàng)建實(shí)時(shí)數(shù)據(jù)可視化圖表,我們將使用流行的圖表庫(kù),如Chart.js,來(lái)展示如何將實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)呈現(xiàn)在圖表中,感興趣的可以了解下2024-01-01微信小程序?qū)崿F(xiàn)獲取手機(jī)號(hào)60s倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)獲取手機(jī)號(hào)60s倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07js如何去除數(shù)組中的empty?undefined空項(xiàng)
這篇文章主要介紹了js如何去除數(shù)組中的empty?undefined空項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08JS組件Bootstrap實(shí)現(xiàn)下拉菜單效果代碼
這篇文章主要為大家詳細(xì)介紹了JS組件Bootstrap實(shí)現(xiàn)下拉菜單效果代碼,感興趣的小伙伴們可以參考一下2016-04-04javascript 的變量、作用域和內(nèi)存問(wèn)題
這篇文章主要介紹了javascript 的變量、作用域和內(nèi)存問(wèn)題的相關(guān)資料,需要的朋友可以參考下2017-04-04ES6 Iterator接口和for...of循環(huán)用法分析
這篇文章主要介紹了ES6 Iterator接口和for...of循環(huán)用法,結(jié)合實(shí)例形式分析了Iterator接口和for...of循環(huán)相關(guān)使用技巧,需要的朋友可以參考下2019-07-07