日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > web前端 > jscript > Javascript中關(guān)鍵字this的介紹與實(shí)例

Javascript中關(guān)鍵字this的介紹與實(shí)例

來源:程序員人生   發(fā)布時(shí)間:2014-05-12 23:39:27 閱讀次數(shù):2816次

在javascript中關(guān)鍵字this是一個(gè)很難掌握的概念。它在不同的情況下指代不同的對象。下面就來看看,在JavaScript中各種this的使用方法有什么不同之處?

1、在HTML元素事件屬性中inline方式使用this關(guān)鍵字:

<div onclick="method(this)">element</div>

這里的this代表觸發(fā)onclick時(shí)間的Dom對象。

2、在事件處理函數(shù)中使用this關(guān)鍵字:

<div id="elmtDiv">element</div>
<script language="javascript">
var div = document.getElementById('elmtDiv'); 
 div.onclick = function() 

// 在此使用this 
}; 
</script>

這里this指代的對象和上面一樣。

3、函數(shù)中的this

函數(shù)中的this代表調(diào)用函數(shù)的對象。

 function print(message) 

this.alert(message); 

print("this is window");

例如上面這個(gè)函數(shù)print的定義也可以寫成。window.print = function(){}.調(diào)用print(),實(shí)際上是調(diào)用window對象上的方法print。所以print中的this代表window對象。還有類似的情況是在構(gòu)造函數(shù)中定義的方法:

 function MyClass(name) 

this.name = name; 
this.toString = function(){ 
return this.name; 


var my = new MyClass('myclass'); 
alert(my.toString());

This指向的是調(diào)用此方法的對象my。

4、在類的構(gòu)造函數(shù)中使用this

代碼
function JSClass()
{
var myName = 'jsclass';
this.m_Name = 'JSClass';
}

JSClass.prototype.ToString = function()
{
alert(myName + ', ' + this.m_Name);
};

var jc = new JSClass();
jc.ToString();

這是JavaScript構(gòu)造函數(shù)中對this的使用,這個(gè)和其它的OO語言中的情況非常的相識(shí)。但是這里要求成員屬性和方法必須使用this關(guān)鍵字來引用,運(yùn)行上面的程序會(huì)被告知myName未定義。有關(guān)構(gòu)造函數(shù)的相關(guān)內(nèi)容:Javascript(js)使用function定義構(gòu)造函數(shù)有詳細(xì)的介紹。

5、為腳本引擎內(nèi)部對象添加原形方法中的this關(guān)鍵字

 Function.prototype.GetName = function() 

var fnName = this.toString(); 
fnName = fnName.substr(0, fnName.indexOf('(')); 
fnName = fnName.replace(/^function/, ''); 
return fnName.replace(/(^s+)|(s+$)/g, ''); 

function foo(){} 
alert(foo.GetName());

這里的this指代的是被添加原形的類的實(shí)例。

6、函數(shù)調(diào)用中的this

在將函數(shù)作為一個(gè)對象的方法調(diào)用時(shí),如:

 function print() 

alert(this.toString()); 

print.apply('this is first argument'); 
print.call('this is first argument');

在Function.apply和Function.call中的第一個(gè)參數(shù)就是函數(shù)中this的對象。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产精品片一区二区三区 | 综合久久五月 | 日韩成人美女视频 | 精品日韩一区二区三区 | 另类激情亚洲 | 久久精品免费观看 | 国产一区二区免费在线 | 男女免费观看在线爽爽爽视频 | 强公把我次次高潮hd | 精品一区二区三区在线播放 | 日韩精品中文字幕一区二区三区 | 国产在线精品一区二区三区 | 欧美国产在线视频 | 国产午夜精品久久久久久久 | 熟女毛片 | 精品一区二区久久久久久久网站 | 天天操天天干天天 | 91caoporn视频| 亚洲一区二区在线 | 欧美日色 | 综合色婷婷一区二区亚洲欧美国产 | 成人福利网站 | 日韩欧美国产高清 | 国产成人精品久久二区二区91 | 亚洲视频一二三 | 一区二区三区在线播放 | 国产精品久久久久久久久久久久久久 | 亚州av一区 | 一区二区成人在线 | 欧美 日韩 中文 | 狠狠亚洲| 一区二区中文 | 51ⅴ精品国产91久久久久久 | 欧美一区二区三区电影 | 国产在线一区二区 | 成人免费福利 | 看片日韩 | 欧美激情第1页 | 久在线视频 | 中文字幕亚洲一区 | 国产精品久久久久久久美男 |