摘要:本文是本渣在看了中函數(shù)的用法之后,寫的一些東西,希望能幫助到大家。同時的用法和數(shù)組有點類似,和一樣,表示第一個對象。返回此對象所在的當前函數(shù)引用。在使用函數(shù)遞歸調(diào)用時推薦使用代替函數(shù)名本身。
1.arguments對象本文是本渣在看了JS中函數(shù)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看看介紹。)
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
摘要:作為對象原型鏈的終點。調(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)換,...
摘要:作為對象原型鏈的終點。調(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)換,...
摘要:是用寫的一個第三方模塊,用于快速創(chuàng)建命令行。快速使用的使用大致有兩個步驟使用裝飾一個函數(shù),使之成為命令行接口使用等裝飾函數(shù),為其添加命令行選項等。本文標題為命令行神器簡明筆記本文鏈接為參考資料學習筆記模塊 Click Click 是用 Python 寫的一個第三方模塊,用于快速創(chuàng)建命令行。我們知道,Python 內(nèi)置了一個 Argparse 的標準庫用于創(chuàng)建命令行,但使用起來有些繁瑣,...
摘要:在全局環(huán)境中調(diào)用函數(shù)是不會生成此屬性,因為不符合此屬性的存在意義價值見上條。函數(shù)遞歸時用起來比用函數(shù)名調(diào)用函數(shù)更帶感方法這倆方法性質(zhì)一樣,只是用法稍有不同,因此放在一起來介紹。 javascript的Function中有不少不那么常用,又或者用了也是知其然而不知其所以然的屬性/方法,本文就來談談這一系列屬性/方法:caller/callee/apply/call/bind。 call...
摘要:其實隱藏文件和盲水印都屬于圖片隱寫術(shù)。圖片隱寫術(shù)隱寫術(shù)也是數(shù)字水印的一種應用,雙方可利用隱藏在數(shù)字信號中的信息進行溝通。圖片隱寫術(shù)只是其中一種,有興趣的同學可以看下面這本書。盲水印一、演示首先看 這是一張女朋友解碼水印接下來我們輸入一行神奇的命令:python bwm.py --action decode --origin Demo.jpg --im ../Gakki.jpg --resul...
閱讀 1629·2019-08-30 15:54
閱讀 2374·2019-08-30 15:52
閱讀 2048·2019-08-29 15:33
閱讀 3042·2019-08-28 17:56
閱讀 3237·2019-08-26 13:54
閱讀 1675·2019-08-26 12:16
閱讀 2449·2019-08-26 11:51
閱讀 1645·2019-08-26 10:26