国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS隱藏函數(shù) arguments的用法

Scliang / 1674人閱讀

摘要:本文是本渣在看了中函數(shù)的用法之后,寫的一些東西,希望能幫助到大家。同時的用法和數(shù)組有點類似,和一樣,表示第一個對象。返回此對象所在的當前函數(shù)引用。在使用函數(shù)遞歸調(diào)用時推薦使用代替函數(shù)名本身。

本文是本渣在看了JS中函數(shù)arguments的用法之后,寫的一些東西,希望能幫助到大家。

1.arguments對象

在JavaScript中,arguments對象是比較特別的一個對象,實際上是當前函數(shù)的一個內(nèi)置屬性。arguments非常類似Array,但實際上又不是一個Array實例??梢酝ㄟ^如下代碼得以證實(當然,實際上,在函數(shù)funcArg中,調(diào)用arguments是不必要寫成funcArg.arguments,直接寫arguments即可,此處為了讓大家看明白)。

Array.prototype.testArg = "shuzu";
function funcArg() {
    alert(funcArg.arguments.testArg);  
    alert(funcArg.arguments[0]);
}

alert(new Array().testArg); // result: "shuzu"
funcArg(10);                // result: "undefined"  "10"

輸出結(jié)果是 :
shuzu
undefined
10
我們可以看到arguments的類型并沒有數(shù)組的testArg屬性。同時arguments的用法和數(shù)組有點類似,argument[0]和array[0]一樣,表示第一個對象。(ps:這里的prototype的作用是給某個對象加上某種屬性,不懂的小伙伴可以去w3school看看介紹。)

2.callee

arguments對象中有一個非常有用的屬性:callee。arguments.callee返回此arguments對象所在的當前函數(shù)引用。在使用函數(shù)遞歸調(diào)用時推薦使用arguments.callee代替函數(shù)名本身。

var fibonacci =function(n) {
    return n <2? n : arguments.callee(n -1) + arguments.callee(n -2);
}; //斐波納挈數(shù)列求值
3.called

此屬性的作用簡單的說 就是返回調(diào)用該函數(shù)的函數(shù),也就是function test1(){ test2();} 只有在test2是被test1函數(shù)調(diào)用,test2.called才有意義。如果test2是在函數(shù)頂部被調(diào)用,則test2.called返回null.
如果在字符串上下文中使用 caller屬性,那么結(jié)果和 functionName.toString 一樣,也就是說,顯示的是函數(shù)的反編譯文本,

function callerDemo() {
    if (callerDemo.caller) {
        var a= callerDemo.caller.toString();
          alert(a);
      } else {
          alert("this is a top function");
      }
}
function handleCaller() {
      callerDemo();
}
handlecaller();
callerDemo();

輸出結(jié)果:

function handleCaller() {
      callerDemo();
}
this is a top function

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/78866.html

相關(guān)文章

  • 前端面經(jīng)整理之JS和CSS

    摘要:作為對象原型鏈的終點。調(diào)用函數(shù)時,應該提供的參數(shù)沒有提供,該參數(shù)等于。它可以用于引用該函數(shù)的函數(shù)體內(nèi)當前正在執(zhí)行的函數(shù)。 一 JS 二 CSS 一 JS ==和===的區(qū)別 ===叫做嚴格運算符 ==叫做相等運算符嚴格運算符比較時不僅僅比較數(shù)值還要比較數(shù)據(jù)類型是否一樣相等運算符在比較相同類型的數(shù)據(jù)時,與嚴格相等運算符完全一樣。 在比較不同類型的數(shù)據(jù)時,相等運算符會先將數(shù)據(jù)進行類型轉(zhuǎn)換,...

    stonezhu 評論0 收藏0
  • 前端面經(jīng)整理之JS和CSS

    摘要:作為對象原型鏈的終點。調(diào)用函數(shù)時,應該提供的參數(shù)沒有提供,該參數(shù)等于。它可以用于引用該函數(shù)的函數(shù)體內(nèi)當前正在執(zhí)行的函數(shù)。 一 JS 二 CSS 一 JS ==和===的區(qū)別 ===叫做嚴格運算符 ==叫做相等運算符嚴格運算符比較時不僅僅比較數(shù)值還要比較數(shù)據(jù)類型是否一樣相等運算符在比較相同類型的數(shù)據(jù)時,與嚴格相等運算符完全一樣。 在比較不同類型的數(shù)據(jù)時,相等運算符會先將數(shù)據(jù)進行類型轉(zhuǎn)換,...

    lvzishen 評論0 收藏0
  • 命令行神器 Click 簡明筆記

    摘要:是用寫的一個第三方模塊,用于快速創(chuàng)建命令行。快速使用的使用大致有兩個步驟使用裝飾一個函數(shù),使之成為命令行接口使用等裝飾函數(shù),為其添加命令行選項等。本文標題為命令行神器簡明筆記本文鏈接為參考資料學習筆記模塊 Click Click 是用 Python 寫的一個第三方模塊,用于快速創(chuàng)建命令行。我們知道,Python 內(nèi)置了一個 Argparse 的標準庫用于創(chuàng)建命令行,但使用起來有些繁瑣,...

    luoyibu 評論0 收藏0
  • 談談javascriptFunction中那些隱藏屬性/方法:caller/callee/app

    摘要:在全局環(huán)境中調(diào)用函數(shù)是不會生成此屬性,因為不符合此屬性的存在意義價值見上條。函數(shù)遞歸時用起來比用函數(shù)名調(diào)用函數(shù)更帶感方法這倆方法性質(zhì)一樣,只是用法稍有不同,因此放在一起來介紹。 javascript的Function中有不少不那么常用,又或者用了也是知其然而不知其所以然的屬性/方法,本文就來談談這一系列屬性/方法:caller/callee/apply/call/bind。 call...

    shery 評論0 收藏0
  • 盲水印和圖片隱寫術(shù)

    摘要:其實隱藏文件和盲水印都屬于圖片隱寫術(shù)。圖片隱寫術(shù)隱寫術(shù)也是數(shù)字水印的一種應用,雙方可利用隱藏在數(shù)字信號中的信息進行溝通。圖片隱寫術(shù)只是其中一種,有興趣的同學可以看下面這本書。盲水印一、演示首先看 這是一張女朋友解碼水印接下來我們輸入一行神奇的命令:python bwm.py --action decode --origin Demo.jpg --im ../Gakki.jpg --resul...

    Tecode 評論0 收藏0

發(fā)表評論

0條評論

Scliang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<