欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何使用JavaScript中的arguments對象

本篇文章為大家展示了如何使用JavaScript中的arguments對象,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)主營新邵網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app開發(fā)定制,新邵h5微信小程序開發(fā)搭建,新邵網(wǎng)站營銷推廣歡迎新邵等地區(qū)企業(yè)咨詢

arguments 是一個類似數(shù)組的對象, 對應(yīng)于傳遞給函數(shù)的參數(shù)。

語法

arguments

描述

arguments對象是所有函數(shù)中可用的局部變量。你可以使用arguments對象在函數(shù)中引用函數(shù)的參數(shù)。此對象包含傳遞給函數(shù)的每個參數(shù)的條目,第一個條目的索引從0開始。例如,如果一個函數(shù)傳遞了三個參數(shù),你可以參考它們?nèi)缦拢?/p>

arguments[0]
arguments[1]
arguments[2]

參數(shù)也可以被設(shè)置:

arguments[1] = 'new value';

arguments對象不是一個 Array 。它類似于數(shù)組,但除了 長度之外沒有任何數(shù)組屬性。例如,它沒有 pop 方法。但是它可以被轉(zhuǎn)換為一個真正的數(shù)組::

let args = Array.prototype.slice.call(arguments); 
let args = [].slice.call(arguments);

你還可以使用 Array.from()方法或 spread 運(yùn)算符將 arguments 轉(zhuǎn)換為真正的數(shù)組:

let args = Array.from(arguments);
let args = [...arguments];

對參數(shù)使用slice會阻止某些JavaScript引擎中的優(yōu)化 (比如 V8 引擎)。

如果你關(guān)心它們,嘗試通過遍歷arguments對象來構(gòu)造一個新的數(shù)組。

另一種方法是使用 被忽視的/鄙視/輕視,/看不起 Array構(gòu)造函數(shù)作為一個函數(shù):

let args = (
arguments.length === 1 ? [arguments[0]] : 
Array.apply(null, arguments)
);

如果 Array generics 可用的話,下面的代碼可以作為替代

var args = Array.slice(arguments);

arguments 對象僅在函數(shù)內(nèi)部有效,在函數(shù)外部調(diào)用 arguments 對象會出現(xiàn)一個錯誤。

arguments的typeof返回'object'。

console.log(typeof arguments); // 'object'

可以使用索引來確定各個arguments的類型。

console.log(typeof arguments[0]); 
//這將返回單個參數(shù)的typeof。

如果你調(diào)用一個函數(shù),當(dāng)這個函數(shù)的參數(shù)數(shù)量比它顯式聲明的參數(shù)數(shù)量更多的時候,你就可以使用 arguments 對象。這個技術(shù)對于參數(shù)數(shù)量是一個可變量的函數(shù)來說比較有用。 你可以用 arguments.length 來得到參數(shù)的數(shù)量,然后可以用 arguments object 來對每個參數(shù)進(jìn)行處理。 (想要得到函數(shù)簽名的參數(shù)數(shù)量, 請使用 Function.length 屬性。)

屬性

arguments.callee
// 指向當(dāng)前執(zhí)行的函數(shù)。
arguments.caller 
// 指向調(diào)用當(dāng)前函數(shù)的函數(shù)。
arguments.length
// 指向傳遞給當(dāng)前函數(shù)的參數(shù)數(shù)量。

例子

定義一個連接幾個字符串的函數(shù)

這個例子定義了一個函數(shù)來連接字符串。這個函數(shù)唯一正式聲明了的參數(shù)是一個字符串,該參數(shù)指定一個字符作為銜接點來連接字符串。該函數(shù)定義如下:

function myConcat(separator) {
  var args = Array.prototype.slice.call(arguments, 1);  
  return args.join(separator);
}

你可以傳遞任意數(shù)量的參數(shù)到該函數(shù),然后該函數(shù)會將每個參數(shù)作為一個條目來創(chuàng)建一個列表。

myConcat(", ", "red", "orange", "blue");
// returns "red, orange, blue"
myConcat("; ", "elephant", "giraffe", "lion", "cheetah");
// returns "elephant; giraffe; lion; cheetah"
myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");
// returns "sage. basil. oregano. pepper. parsley"

定義一個創(chuàng)建HTML列表的方法

這個例子定義了一個函數(shù)通過一個字符串來創(chuàng)建HTML列表。這個函數(shù)唯一正式聲明了的參數(shù)是一個字符。當(dāng)該參數(shù)為 "u" 時,創(chuàng)建一個無序列表 (項目列表);當(dāng)該參數(shù)為 "o" 時,則創(chuàng)建一個有序列表 (編號列表)。該函數(shù)定義如下:

function list(type) {
  var result = "<" + type + "l><li>";
  var args = Array.prototype.slice.call(arguments, 1);
  result += args.join("</li><li>");
  result += "</li></" + type + "l>"; // end list
  return result;
}

你可以傳遞任意數(shù)量的參數(shù)到該函數(shù),然后該函數(shù)會將每個參數(shù)作為一個條目添加到第一個參數(shù)指定類型的列表當(dāng)中。

var listHTML = list("u", "One", "Two", "Three");
/* listHTML is:
"<ul><li>One</li><li>Two</li><li>Three</li></ul>"
*/

注意

ES6中的箭頭函數(shù)沒有自己的 arguments 對象,不過在大多數(shù)情形下,rest參數(shù)可以給出一個解決方案:

let a;
const fn = (...rest) => Array.prototype.slice.call(rest, 1);
a = fn(1, 2); // [2]

上述內(nèi)容就是如何使用JavaScript中的arguments對象,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前標(biāo)題:如何使用JavaScript中的arguments對象
文章源于:http://aaarwkj.com/article10/psoedo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站小程序開發(fā)、域名注冊全網(wǎng)營銷推廣、手機(jī)網(wǎng)站建設(shè)、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
91精品一区二区三区91人妻| 97人妻人人揉人人澡人人学生| 久久精品久久久精品| 久久 久久国内精品亚洲| 国产av一区最新精品麻豆| 四季一区二区三区av| 亚洲永久精品天码野外| 亚洲一区二区三区日韩欧美| 亚洲精品国产第一区第二区| 中文字幕乱码日韩一区| 在线视频一区二区三区精品观看| 国产精品三级高清在线| 日韩深夜成人在线视频| 国产精品久久久天美传媒| 国产视频在线一区二区| 亚洲熟妇亚洲熟妇亚洲熟妇| 91精品欧美综合在线| 亚洲精品欧美日韩久久| 国产老熟女一区二区三区| 男人自拍天堂在线视频| 日韩精品中文乱码在线观看| av资源中文字幕在线天堂| 中文字幕在线视频黄字幕 | 亚洲av十八禁在线播放| 91午夜福利国产精品| 青青草免费在线视频蜜臀| 亚洲综合av一区二区三区四区| 亚洲熟妇中文字幕五十中出| 麻豆人妻性色av专区| 国产精品亚洲二区三区三州| 欧美日韩国产另类久久| 五月婷婷丁香综合中文字幕| 日韩一区二区高清看片| 要爽死国产一区在线播放| 欧美日韩精品激情一区二区| 日韩精品一区二区三区四区在线视频 | 亚洲精品熟女一区二区三区| 在线视频一区二区三区精品观看| 欧美亚洲另类日韩综合网| 国产实拍之强伦奸在线观看| 国产精品亚洲二区三区|