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

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

js中arguments對(duì)象的深入理解

2024-05-06 15:39:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

在JavaScript中,arguments屬于當(dāng)前對(duì)象的一個(gè)內(nèi)置屬性,arguments非常類似于Array對(duì)象,但是又不是實(shí)例的Array。本文主要給大家介紹了關(guān)于js中arguments對(duì)象的相關(guān)內(nèi)容,下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧

一、在函數(shù)調(diào)用的時(shí)候,瀏覽器每次都會(huì)傳遞進(jìn)兩個(gè)隱式參數(shù)

函數(shù)的上下文對(duì)象this 封裝實(shí)參的對(duì)象arguments

二、arguments 對(duì)象

arguments 對(duì)象實(shí)際上是所在函數(shù)的一個(gè)內(nèi)置類數(shù)組對(duì)象 每個(gè)函數(shù)都有一個(gè)arguments屬性,表示函數(shù)的實(shí)參集合,這里的實(shí)參是重點(diǎn),就是執(zhí)行函數(shù)時(shí)實(shí)際傳入的參數(shù)的集合。arguments不是數(shù)組而是一個(gè)對(duì)象,但它和數(shù)組很相似,所以通常稱為類數(shù)組對(duì)象,以后看到類數(shù)組其實(shí)就表示arguments。arguments對(duì)象不能顯式的創(chuàng)建,它只有在函數(shù)開(kāi)始時(shí)才可用。 arguments還有屬性callee,length和迭代器Symbol。 arguments同樣具有l(wèi)ength屬性,arguments.length 為函數(shù)實(shí)參個(gè)數(shù),可以用arguments[length]顯示調(diào)用參數(shù) arguments對(duì)象可以檢測(cè)參數(shù)個(gè)數(shù),模擬函數(shù)重載

三、理解點(diǎn)

第一點(diǎn):arguments對(duì)象:可以在函數(shù)內(nèi)訪問(wèn)所有的參數(shù),實(shí)參

    實(shí)例代碼:

function f1(){  console.log(arguments[0]);  console.log(arguments[1]);  console.log(arguments[2]); } f1(12,23,45); //12 34 45

第二點(diǎn):在正常的模式下,arguments對(duì)象可以在運(yùn)行的時(shí)候進(jìn)行修改

    實(shí)例代碼:

function f2(a,b){  arguments[0] = 10;  arguments[1] = 20;  return a + b; } console.log(f2(4,6)); //30

第三點(diǎn):在嚴(yán)格的模式下,arguments對(duì)象在運(yùn)行的時(shí)候不可以修改,修改arguments對(duì)象不會(huì)影響到實(shí)際的函數(shù)參數(shù)

    注意:  'use strict' 是開(kāi)啟嚴(yán)格模式

    實(shí)例代碼:

function f3(a,b){  'use strict';  arguments[0] = 10;  arguments[1] = 20;  return a + b; } console.log(f3(3,6)); //9

第四點(diǎn):通過(guò)arguments對(duì)象的length屬性,可以判斷實(shí)參的個(gè)數(shù)

    實(shí)例代碼:

 function f4(){  console.log(arguments.length); } f4(2,3,4,5); //4 f4(1);  //1 f4();  //0

第五點(diǎn):arguments是一個(gè)對(duì)象,不是數(shù)組,轉(zhuǎn)換為數(shù)組可以采用 slice 和 逐一填入新數(shù)組

    實(shí)例代碼:

var arr = Array.prototype.slice.call(arguments);  console.log(typeof arr);  var arr2 = [];  for(var i = 0; i<arguments.length;i++){   arr2.push(arguments[i]);  }  console.log(typeof arr2);

第六點(diǎn):arguments的callee屬性可以返回對(duì)應(yīng)的原函數(shù),達(dá)到調(diào)用自身函數(shù)的效果,但是在嚴(yán)格模式中是不適用的

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 扬中市| 漳平市| 怀集县| 寻甸| 揭东县| 格尔木市| 丰顺县| 隆子县| 深圳市| 富蕴县| 蚌埠市| 霍林郭勒市| 寿阳县| 古丈县| 贺州市| 无极县| 门源| 鄱阳县| 肥城市| 呼和浩特市| 马边| 长岛县| 买车| 霍林郭勒市| 高青县| 金塔县| 旅游| 宁德市| 静乐县| 穆棱市| 河津市| 天等县| 长子县| 恩施市| 云和县| 余庆县| 阳新县| 怀化市| 渝北区| 鹤山市| 临朐县|