91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Javascript函數中arguments的作用是什么

發布時間:2021-01-25 17:18:18 來源:億速云 閱讀:446 作者:Leah 欄目:web開發

本篇文章為大家展示了Javascript函數中arguments的作用是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

一、arguments的面貌

在javascript中所有的函數內部都包含了一個隱藏的變量叫arguments;它存放著所有傳遞到這個函數中的參數;

那么我們打開實例看看arguments的輸出形式

(function fn(){
 console.log(arguments)
})(1,2,3,4)

Javascript函數中arguments的作用是什么

結果好像是類似數組的形式打印在控制臺,相信大多數人包括我看到這種輸出就會認為arguments是一個數組,那么既然是數組就可以用數組的一些方法了吧,再看下一個例子;

(function fn(){
 arguments.push(5)
 console.log(arguments)
})(1,2,3,4)

Javascript函數中arguments的作用是什么

結果報錯了- -!;(在項目中我就是踩到了這個坑);

那我們就會有一個疑惑了,既然是數組為什么不能用push方法呢,其他的像pop,slice也不行么,是的,都不行,雖然arguments也能通過下標的形式獲取到對應位置的參數,當本質上不算是真正的數組;

我們通過instanceof打印看看它是不是Array的孩子

(function fn(){
 console.log(arguments instanceof Array)
})()

Javascript函數中arguments的作用是什么

果不其然真不是數組,那么我們就會聯想到它就是個對象了;

雖然它也能用for循環遍歷到里面的參數,但把它轉為真正的數組才是更好的選擇;

二、轉化為數組

轉化的方法有很多,對象冒充的方式傳遞給Array.prototype或遍歷push到空數組或傳遞給另一個函數等等。。都可以完成,下面簡單介紹幾個轉化的方法,遍歷push到空數組的方法就不細講了;

第一種方法:

(function fn(){
 var arr = Array.prototype.slice.call(arguments)
 arr.push(5)
 console.log(arr)
})(1,2,3,4)

Javascript函數中arguments的作用是什么

這種轉化方式比較慢,在性能不好的情況下不推薦這種寫法;

第二種方法:

function fn() {
 fnArr.apply(null, arguments);
}
function fnArr(a,b,c,d) {
 ···
}

上述內容就是Javascript函數中arguments的作用是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

曲松县| 尼木县| 阿坝县| 广南县| 陇南市| 平罗县| 绿春县| 漳平市| 翼城县| 宝鸡市| 嵊州市| 西盟| 夹江县| 铁岭县| 灌阳县| 林甸县| 富顺县| 手机| 卢龙县| 当阳市| 罗定市| 若尔盖县| 长白| 任丘市| 五常市| 西乌珠穆沁旗| 邹城市| 喀喇沁旗| 荣成市| 瓦房店市| 两当县| 增城市| 平顶山市| 阳江市| 溧水县| 奇台县| 保康县| 卓资县| 蕉岭县| 和田县| 徐汇区|