色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript this關(guān)鍵字指向常用情況解析

瀏覽:99日期:2023-10-16 09:02:31

在之前寫代碼的經(jīng)歷中,常常試過寫著寫著this就莫名其妙的不知道指向到哪里去了。今天看了曾探的javascript設(shè)計模式,里面特別談到了this在不同情況下指代的對象,非常有意思。

this指代的情況

this有以下4種情況:

1、對象.函數(shù)的形式調(diào)用:object.function();

2、普通函數(shù)的形式調(diào)用:function();

3、構(gòu)造器調(diào)用;

4、Function.prototype.call或Function.prototype.apply調(diào)用;

1、對象.函數(shù)的形式調(diào)用

對象.函數(shù)方式調(diào)用時,指代該對象。

var obj = { num:1, getNum:function(){ alert(this.num);//輸出1 }}obj.getNum();

2、普通函數(shù)形式調(diào)用

普通函數(shù)的方式被調(diào)用時,this指向全局對象。

window.num = 2;var obj = { num:1, getNum:function(){ alert(this.num); }}obj.getNum();//彈出1var fun1 = obj.getNum;fun1(); //彈出2

太神奇了,直接調(diào)用函數(shù) fun(); 與通過對象調(diào)用函數(shù) xxx.fun(); this指代的對象不同。

3、構(gòu)造器調(diào)用

為了能夠用上new關(guān)鍵字,javascript的創(chuàng)建對象可以這樣定義。

var person = function(){this.name = ’劉備’;}

在這種情況下,this指代這個正在創(chuàng)建中的對象。

var p = new person();alert(p.name);//彈出劉備

4、Function.prototype.call或Function.prototype.apply調(diào)用

var obj1 = { name:’關(guān)羽’, getName:function(){ return this.name; }}var obj2 = { name:’劉備’}alert(obj1.getName()); //關(guān)羽alert(obj1.getName.call(obj2)); //劉備

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 国产美女视频黄a视频全免费网站 | 欧美精品一区二区三区四区 | 国产精品莉莉欧美自在线线 | 欧美一区二区三区视频在线观看 | 成人免费一区二区三区视频软件 | 九九九九在线视频播放 | 亚洲天堂在线观看视频 | 国产亚洲精品2021自在线 | tubesexvideo日本护士 | 日本特黄特色大片免费视频网站 | 牛人盗摄一区二区三区视频 | 和日本免费不卡在线v | 日韩天天干| 国产永久免费视频m3u8 | 亚洲伊人色 | 一本高清 | 在线视频一二三区 | 国产成人在线看 | 成人免费一区二区三区视频软件 | 国产91无套剧情在线播放 | 日一区二区 | 欧美一级毛片欧美一级无片 | 国产欧美在线一区二区三区 | 香蕉视频黄在线观看 | 岛国在线免费观看 | 欧美成人看片一区二区三区尤物 | 午夜三级网站 | 欧洲老妇bbbbbxxxxx | 正能量www正能量免费网站 | 亚洲 自拍 另类 欧美 综合 | 亚洲专区在线 | 欧美精品在线一区二区三区 | 国产精品美女久久福利网站 | 日韩国产欧美一区二区三区在线 | 韩国毛片免费 | 日韩欧美日本 | 国内精品91久久久久 | 成人久久影院 | 成人在免费观看视频国产 | 日本色中色 | 日本一级大黄毛片免费基地 |