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

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

 更新時間:2011年04月07日 23:38:19   作者:  
具名函數(shù)的各種調(diào)用方式 在之前篇幅中已經(jīng)介紹過了。這篇看看如何判斷一個函數(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ù)/類作為自身實例對象的方法時調(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一個對象
p.fn = Person; // 把函數(shù)/類 Person 賦值給自身對象p的fn屬性
p.fn(); // 這句調(diào)用時提示“這是new調(diào)用”,顯然不對

還有更好的方法嗎?

相關(guān)文章

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

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

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

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

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

    js控制input輸入字符解析

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

    JavaScript 截取字符串代碼實例

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

    JS實現(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ì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 微信小程序?qū)崿F(xiàn)登錄注冊功能

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

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

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

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

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

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

最新評論

江门市| 隆德县| 伊春市| 集贤县| 剑川县| 尚志市| 泰安市| 凤冈县| 积石山| 乐清市| 胶州市| 聊城市| 吴川市| 化德县| 东山县| 齐齐哈尔市| 昌邑市| 新沂市| 贵定县| 雅安市| 茂名市| 新晃| 定兴县| 唐山市| 高台县| 神木县| 宁南县| 渝北区| 如皋市| 炎陵县| 诸暨市| 汕头市| 呼玛县| 郸城县| 扎鲁特旗| 广河县| 河源市| 建湖县| 滁州市| 兰州市| 内黄县|