最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中判斷函數(shù)是new還是()調(diào)用的區(qū)別說明

 更新時(shí)間:2011年04月07日 23:38:19   作者:  
具名函數(shù)的各種調(diào)用方式 在之前篇幅中已經(jīng)介紹過了。這篇看看如何判斷一個(gè)函數(shù)是被new調(diào)用的,還是被其它方式調(diào)用的。
方式1
復(fù)制代碼 代碼如下:

function Person(n,a){
this.name = n;
this.age = a;
if(this instanceof Person){
alert('new調(diào)用');
}else{
alert('函數(shù)調(diào)用');
}
}
var p = new Person('jack',30); // --> new調(diào)用
Person(); // --> 函數(shù)調(diào)用

方式2
復(fù)制代碼 代碼如下:

function Person(n,a){
this.name = n;
this.age = a;
if(this instanceof arguments.callee){
alert('new調(diào)用');
}else{
alert('函數(shù)調(diào)用');
}
}
var p = new Person('jack',30); // --> new調(diào)用
Person(); // --> 函數(shù)調(diào)用

方式3
復(fù)制代碼 代碼如下:

function Person(n,a){
this.name = n;
this.age = a;
if(this.constructor === arguments.callee){
alert('new調(diào)用');
}else{
alert('函數(shù)調(diào)用');
}
}
var p = new Person('jack',30); // --> new調(diào)用
Person(); // --> 函數(shù)調(diào)用

看似很完美,但當(dāng)把函數(shù)/類作為自身實(shí)例對(duì)象的方法時(shí)調(diào)用就出問題了
復(fù)制代碼 代碼如下:

function Person(n,a){
this.name = n;
this.age = a;
if(this.constructor === arguments.callee){
alert('new調(diào)用');
}else{
alert('函數(shù)調(diào)用');
}
}
var p = new Person('jack',30); // 先new一個(gè)對(duì)象
p.fn = Person; // 把函數(shù)/類 Person 賦值給自身對(duì)象p的fn屬性
p.fn(); // 這句調(diào)用時(shí)提示“這是new調(diào)用”,顯然不對(duì)

還有更好的方法嗎?

相關(guān)文章

  • 詳解JavaScript中常用的函數(shù)類型

    詳解JavaScript中常用的函數(shù)類型

    這篇文章主要介紹了三種JavaScript中常用的函數(shù)類型,包括匿名函數(shù)、動(dòng)態(tài)函數(shù)、可變參數(shù)函數(shù),感興趣的小伙伴們可以參考一下
    2015-11-11
  • js substr支持中文截取函數(shù)代碼(中文是雙字節(jié))

    js substr支持中文截取函數(shù)代碼(中文是雙字節(jié))

    js substr支持中文截取函數(shù)代碼,中文是雙字節(jié),配有實(shí)例需要的朋友可以參考下
    2013-04-04
  • js控制input輸入字符解析

    js控制input輸入字符解析

    本篇文章主要是對(duì)js控制input輸入字符方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-12-12
  • JavaScript 截取字符串代碼實(shí)例

    JavaScript 截取字符串代碼實(shí)例

    這篇文章主要介紹了JavaScript 截取字符串代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • JS實(shí)現(xiàn)逐頁將PDF文件轉(zhuǎn)為圖片格式

    JS實(shí)現(xiàn)逐頁將PDF文件轉(zhuǎn)為圖片格式

    這篇文章主要為大家分享了如何通過前端js將pdf文件轉(zhuǎn)為圖片格式,并且支持翻頁預(yù)覽、以及圖片打包下載,文中的示例代碼簡潔易懂,需要的可以參考一下
    2023-05-05
  • Bootstrap入門書籍之(四)菜單、按鈕及導(dǎo)航

    Bootstrap入門書籍之(四)菜單、按鈕及導(dǎo)航

    這篇文章主要介紹了Bootstrap入門書籍之(四)菜單、按鈕及導(dǎo)航的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • 用js簡單提供增刪改查接口

    用js簡單提供增刪改查接口

    這篇文章主要介紹了用js簡單提供增刪改查接口,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 微信小程序?qū)崿F(xiàn)登錄注冊(cè)功能

    微信小程序?qū)崿F(xiàn)登錄注冊(cè)功能

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)登錄注冊(cè)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • TypeScript新特性之using關(guān)鍵字的使用方法

    TypeScript新特性之using關(guān)鍵字的使用方法

    TypeScript 5.2版本中新添加了using關(guān)鍵字,目前該關(guān)鍵字的提案也進(jìn)入了ECMAScript的Stage 3,也就是說很快就會(huì)進(jìn)入JavaScript語言本身中,using和const, let和var一樣都是用于變量聲明的,那么它到底有什么與眾不同的地方呢,本文給大家介紹的非常詳細(xì)
    2023-11-11
  • JavaScript實(shí)現(xiàn)多層顏色選項(xiàng)卡嵌套

    JavaScript實(shí)現(xiàn)多層顏色選項(xiàng)卡嵌套

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)多層顏色選項(xiàng)卡嵌套,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09

最新評(píng)論

韶关市| 岗巴县| 建水县| 修武县| 垣曲县| 长治市| 诏安县| 辉县市| 锡林浩特市| 静宁县| 四子王旗| 汨罗市| 七台河市| 霍州市| 兴海县| 钦州市| 朝阳市| 平果县| 浦城县| 西贡区| 大丰市| 那曲县| 永泰县| 赞皇县| 沾化县| 三原县| 呼图壁县| 来凤县| 贵南县| 正镶白旗| 阳西县| 青铜峡市| 武乡县| 江源县| 界首市| 云龙县| 鸡东县| 友谊县| 绥棱县| 乌海市| 肥东县|