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

簡單了解JavaScript arguement原理及作用

 更新時間:2020年05月28日 15:12:38   作者:javascript癡癡  
這篇文章主要介紹了簡單了解JavaScript arguement原理及作用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

問題

var length = 10;

function fn(){
  alert(this.length);
}
var obj = {
  length: 5,
  method: function(fn) {
   arguments[0]()
  }
}
obj.method(fn);//1

這段代碼中的arguments[0]()是第一個參數(shù)?帶一對小括號是什么意思?

理解

我們可以先從最后調(diào)用obj.method(fn)開始理解。

1.obj是對象,method()是obj的方法,fn是method()的參數(shù),fn是函數(shù)的名,他引用對應的函數(shù)。arguments是JavaScript的一個內(nèi)置對象。

An Array-like object corresponding to the arguments passed to a function.
The arguments object is a local variable available within all functions; arguments as a property of Function can no longer be used. Description:You can refer to a function‘s arguments within the function by using the arguments object. This object contains an entry for each argument passed to the function, the first entry's index starting at 0.

2.arguments是用來取得method(fn)的參數(shù)的類數(shù)組,在這里也就是fn,即arguments[0]===fn或arguments.0===fn(0就是arguments的一個屬性)。所以arguments[0]()就等于fn()。

是不是到這里要開始風中凌亂了,this.length究竟是指向那個對象呢? 可以這樣理解:

arguments = {
 0: fn, //也就是 functon() {alert(this.length)} 
 1: 第二個參數(shù), //沒有 
 2: 第三個參數(shù), //沒有
 ..., 
 length: 1 //只有一個參數(shù)
}

最后,這個1就是arguments.length,也就是本函數(shù)參數(shù)的個數(shù)。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

湖南省| 奇台县| 元阳县| 绍兴县| 云龙县| 波密县| 卢湾区| 宣城市| 崇礼县| 永德县| 和政县| 庆安县| 贵南县| 平潭县| 余姚市| 正宁县| 勃利县| 洛阳市| 承德县| 根河市| 保康县| 阳高县| 嵊泗县| 余江县| 扎囊县| 仙桃市| 饶平县| 碌曲县| 湖南省| 卓资县| 中阳县| 昔阳县| 砚山县| 乌拉特前旗| 成武县| 禹州市| 澎湖县| 伊金霍洛旗| 萝北县| 石棉县| 平安县|