国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺談javascript中的Function和Arguments

2019-11-20 09:07:35
字體:
來源:轉載
供稿:網友

javascript的Function

屬性:

1、Arguments對象

2、caller

 對調用單前函數的Function的引用,如果是頂層代碼調用,
 則返回null(firefox返回undefined)。
 注:只有在代碼執行時才有意義

3、length

 聲明函數是指定的命名參數的個數(函數定義是,定義參數的個數)

4、prototype

 一個對象,用于構造函數,這個對象定義的屬性和方法
 由構造函數創建的所有對象共享。

方法:

 applay() --> applay(this,[])
 call() --> call(this,可變參數)
 toString()

javascript的Arguments對象

Arguments對象只在函數體內定義,他是一個類數組(是對象不是數組,只是有數組的一些特性)。

說明:

當一個函數被調用的時候,會為該函數創建一個Arguments對象,
局部變量arguments會自動初始化并引用那個Arguments對象(arguments是Arguments對象的引用)

該對象的屬性:

1、callee

對當前正在執行的函數的引用

2、length

傳遞給函數參數的個數(實際傳遞給函數參數的個數)

arguments特性

arguments對象不能顯式創建,arguments對象只有函數開始時才可用。函數的 arguments 對象并不是一個數組,訪問單個參數的方式與訪問數組元素的方式相同。索引 n 實際上是 arguments 對象的 0…n 屬性的其中一個參數。

在javascript中,不需要明確指出參數名,就能訪問它們。如:

function hi(){if(arguments[0]=="andy"){   return;}alert(arguments[0]);

arguments的length屬性

含義

返回調用程序傳遞給函數的實際參數數目。

用法

[function.]arguments.length

其中可選項 function 參數是當前正在執行的 Function 對象的名稱。

說明

當 Function 對象開始執行時,腳本引擎將 arguments 對象的 length 屬性初始化為傳遞給該函數的實際參數數目。

js不會主動為你判斷你到底給函數傳了多少個參數,如果你多傳了,多余的部分就沒有被使用,如果你少傳了,那么沒傳的參數值就是undefined

所以我們可以借助arguments的length屬性來檢測調用函數時是否使用了正確數目的實際參數,因為javascript是不會為你做這些事的

arguments 的 0...n 屬性

含義

返回一個 arguments 對象中的各個參數的實際值,相應的值是由一個正在執行的函數的 arguments屬性返回的。

用法

[function.]arguments[[0|1|2|...|n]]

參數

function

可選項。當前正在執行的 Function 對象的名稱。

0, 1, 2, …, n

必選項。0 到 n 范圍內的非負整數,其中 0 代表第一個參數而 n 代表最后一個參數。最后參數 n 的值為 arguments.length-1

說明

0 . . . n 屬性所返回的值就是傳遞給正在執行的函數的實際值。盡管實際上并不是一個參數數組,您還是可以按照與訪問數組元素的方法相同的方式訪問組成 arguments 對象的各個參數。

示例

下面的例子演示了 arguments 對象的 0 . . . n 屬性的用法

 

function ArgTest(){  var s = "";  s += "The individual arguments are: "  for (n=0; n< arguments.length; n++){   s += ArgTest.arguments[n];   s += " ";  }  return(s);}print(ArgTest(1, 2, "hello", new Date()));

 arguments的callee屬性

含義

表示對函數對象本身的引用,也就是所指定的 Function 對象的正文,這有利于實現無名函數的遞歸或者保證函數的封裝性。

用法

[function.]arguments.callee

可選項 function 參數是當前正在執行的 Function 對象的名稱。

說明
callee 屬性是 arguments 對象的一個成員,僅當相關函數正在執行時才可用。

callee 屬性的初始值就是正被執行的 Function 對象。這允許匿名的遞歸函數。

實例:

用遞歸來計算1到n的自然數之和:

 

<script>   var sum=function(n){   if(1==n) {    return 1;   } else {    return n + arguments.callee(n-1);   }  }  alert(sum(100));</script>

對函數Function原型prototype的一下說明:

當通過構造函數初始化一個對象的時候,

new關鍵字通過調用構造函數初始化這個對象,并把新的對象 作為this關鍵字的值 來傳遞,

與此同時,new關鍵字還設置了這個對象的原型,一個對象的原型就是它的構造函數的prototype屬性的值

(例如:a = new Date(),a對象的原型就是Date.prototype)

所有的函數都有一個prototype屬性,當這個函數【被定義】的時候,prototype屬性會自動創建和初始化。

prototype屬性的初始化值是一個對象,并且這個對象只有一個屬性,這個屬性是constructor,

它指回到和原型相關聯的那個構造函數。

以上這篇淺談javascript中的Function和Arguments就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘南县| 绩溪县| 库尔勒市| 南召县| 益阳市| 石景山区| 临汾市| 济源市| 巴里| 沾化县| 拜泉县| 南靖县| 赫章县| 博野县| 交口县| 张家界市| 通海县| 安西县| 元谋县| 丹阳市| 和硕县| 射洪县| 大渡口区| 石河子市| 德江县| 漳州市| 泌阳县| 余江县| 松潘县| 陆川县| 罗甸县| 阳西县| 富源县| 梧州市| 吉安县| 锡林郭勒盟| 临江市| 自贡市| 太谷县| 连江县| 蒙阴县|