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

溫馨提示×

溫馨提示×

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

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

如何在JavaScript函數中使用Rest 參數

發布時間:2021-03-02 15:49:14 來源:億速云 閱讀:249 作者:戴恩恩 欄目:web開發

這篇文章主要為大家詳細介紹了如何在JavaScript函數中使用Rest 參數,文中示例代碼介紹的非常詳細,具有一定的參考價值,發現的小伙伴們可以參考一下:

JavaScript的特點

1.JavaScript主要用來向HTML頁面添加交互行為。 2.JavaScript可以直接嵌入到HTML頁面,但寫成單獨的js文件有利于結構和行為的分離。 3.JavaScript具有跨平臺特性,在絕大多數瀏覽器的支持下,可以在多種平臺下運行。

JavaScript函數可以使用任意數量的參數。與其他語言(如C#和Java)不同,你可以在調用JavaScript函數時傳遞任意數量的參數。JavaScript函數允許未知數量的函數參數。在ECMAScript 6之前,JavaScript有一個變量來訪問這些未知或可變數目的參數,這是一個類似數組的對象,并非一個數組。細想以下代碼來理解arguments變量:

function add(){
var result = 0; 
for(let i=0;i<arguments.length;i++){
result = result + arguments[i];
}
return result; 
}
var r = add(6,9,3,2);
console.log(r);
var t = add(7,56,9);
console.log(t);

如你所見,arguments對象用于訪問未知或可變的函數參數。即使arguments使用length屬性和方括號,它也不是一個真正的JavaScript數組。你不能對arguments對象使用其他JavaScript數組方法,如pop,push,slice等。在使用arguments時存在的一些問題是:

JavaScript函數arguments對象不是一個真正的JavaScript數組;因此,你不能使用其他數組方法,如pop,push,slice等。
在內部函數中訪問外部函數的arguments對象是很困難的。要訪問的話,你需要在變量中分配外部函數的arguments函數,然后在內部函數中使用它。

如果你想要使用arguments對象作為數組,那么你需要通過Aarry.prototype.slice手動轉換。
ECMAScript 6引入了一個新功能,Rest參數,它表示一個未知數量的參數作為函數中的一個數組。它不僅將額外的參數表示為數組,還解決了arguments對象的許多問題。使用rest參數重寫上面的add函數。

function add(...theArgs){
var result = 0; 
for(let i=0;i<theArgs.length;i++){
result = result + theArgs[i];
}
return result; 
}
var r = add(6,9,3,2);
console.log(r);
var t = add(7,56,9);
console.log(t);

你可以將rest參數定義為…theArgs或… args。如果最后命名的函數參數以…(三個點)作為前綴,那么它將成為函數的rest參數。JavaScript函數的rest參數是純JavaScript數組。在上面的代碼中,…theArgs是函數add的rest參數,因為它是唯一的命名參數,且也以…(三個點)作為前綴。

由于rest參數是JavaScript數組,所以你可以對rest參數theArgs執行諸如push,pop等操作,如下面的代碼所示:

function add(...theArgs){
theArgs.push(10);
var result = 0; 
for(let i=0;i<theArgs.length;i++){
result = result + theArgs[i];
}
var lastItem = theArgs.pop();
console.log(lastItem);
return result; 
}

JavaScript函數的rest參數也可以與其他參數一起工作。如果你不想在rest參數數組中包含特定參數的話,那么你可能需要在函數中使用其他命名參數。細想以下代碼塊:

function add(num1, num2, ...theArgs){
console.log(num1);
console.log(num2);
console.log(theArgs.length);
}
var r = add(6,9,3,2);
var t = add(7,56,9);

對于第一次函數調用,6和9將分別分配給num1和num2。對于第二個函數調用,7和56將被分配給num1和num2。啟動第三個參數的參數將被分配給rest參數數組。請記住,前兩個參數不會成為rest參數數組的一部分。所以,如果你打算將所有的值都包含在rest參數中,那么你應該一開始就將它們定義為用逗號分隔的命名參數。下面給出的代碼將會導致錯誤:

function add(num1, ...theArgs,num2){
console.log(num1);
console.log(num2);
console.log(theArgs.length);
}

在上面的代碼中,rest參數不是最后一個參數,所以JavaScript會拋出錯誤。rest參數必須是最后一個正式參數。

如何在JavaScript函數中使用Rest 參數

JavaScript允許你破壞rest參數,這意味著你可以將rest變量數據解包為不同的變量名稱。請看下面的代碼:

function add(...[a,b,c]){
return a+b+c; 
}
var r = add(6);
console.log(r);
var t = add(7,56,9);
console.log(t);

第一次函數調用,將分配a = 6,b = undefined,c = undefined,第二次函數調用,將分配a = 7,b = 56,c = 9。在此例子中,函數將忽略傳遞的任何額外的參數。

JavaScript函數的rest參數是對arguments對象使用函數未知參數的一個巨大改進。它是一個純JavaScript數組;因此,你可以對它使用所有數組方法。你可以將rest變量數據解包到命名變量中。你可以給rest參數指定任何名稱,這又是一個使用arguments關鍵字的重大改進。

以上就是億速云小編為大家收集整理的如何在JavaScript函數中使用Rest 參數,如何覺得億速云網站的內容還不錯,歡迎將億速云網站推薦給身邊好友。

向AI問一下細節

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

AI

双牌县| 栾川县| 铜鼓县| 泰宁县| 斗六市| 夏河县| 长宁区| 张家口市| 贞丰县| 肥城市| 自治县| 井研县| 门头沟区| 剑川县| 台东市| 四子王旗| 温州市| 来凤县| 万山特区| 河北省| 长春市| 闽清县| 虞城县| 南漳县| 安吉县| 周口市| 巴彦淖尔市| 南皮县| 贞丰县| 富顺县| 临沭县| 阿图什市| 山西省| 名山县| 珲春市| 洞头县| 武胜县| 河东区| 清丰县| 博客| 嘉荫县|