Arguments的使用

Arguments是伪数组,可以获取函数中传入的参数.

不是数组对象,不能直接调用数组的方法,可通过call或者apply调用.

可以通过设定length动态改变arguments长度.

例:

function avg(){

  var num =0,l = 0;

  for(var i = 0;i<arguments.length;i++){

    if(typeof arguments[i] != "number")

      continue;

    num += arguments[i];

    l++;

  }

  num /= l;

  return num;

}

alert(avg(1,2,3,4));

alert(avg(1,2,"3",4));

arguments的callee属性为获取对当前函数的引用

例:

function  f(a,b,c){

  var m = arguments.length;

  var n =  arguments.callee.length;

  if(m != n){

    alert("error!")

  }else{

    return a+b+c;

  }

}

alert(f(2,2,4));

时间: 2024-11-05 02:56:14

Arguments的使用的相关文章

js 中arguments的应用

在js中每个函数类都有一个Arguments对象实例arguments,.首先他不是一个数组,可以说算一个伪数组,但是用数组的索引形式也能获取到他的值,如 let len = arguments.length;表示函数参数的个数 arguments[0]表示第一个参数 在函数中使用它的好处就是这个函数在多处调用且参数有不是必须传递的,这样可以利用arguments来处理,解决了不需要的参数也要传递的问题 在实际应用中分装的函数中使用了一下,有不对的和需要改进的地方,还请大家多多指教,一起学习 e

arguments,caller,callee之理解

arguments对象代表正在执行的函数和调用它的函数的参数,arguments是一个不是数组但类似 数组的对象,它具有同数组一样的访问性质及方式,可以由arguments[n]来访问对应单个参数的值, 并有length属性,需要注意的是arguments对象存储的是实际传递给函数的参数,只有在函数开始时才可用. caller返回对一个函数的引用,该函数调用当前函数.如果函数由顶层调用,caller包含的值为null. callee返回正在被执行的Funciton对象,也就是被指定的Functi

有关arguments与js入门

注:js系列随笔写的很随意,都是自己平常的学习到的一些知识点,很零碎,基本都是为总结自己的学习写的,相信总结后自己会有更多收获 今天看一个web项目,从js代码中学习到几个知识点,总结下: 1.arguments,上网查了下其用法 方法中用arguments就是引用了该方法的参数集合,可以理解为一个全局变量,arguments.length即方法中所传入参数的个数,arguments[n]即指该方法的第n+1个参数. 有一个知识点也是新学到的:arguments.callee()--调用所在的方

ORA-00600: internal error code, arguments: [4193]问题解决

操作环境 SuSE+Oracle11gR2 问题现象 单板宕机自动重启后,ORACLE运行不正常,主要表现如下: 1.执行shutdown immedate停止数据库时,提示ORA-00600: internal error code, arguments: [4193],[],[] 2.压测性能时,oracle总是无缘无故关闭 问题分析 发现问题后首先查看告警日志<find $ORACLE_BASE -name "alert*.log"> 1.查看告警日志,发现日志中有O

调用函数时传递的实参个数arguments.length; ,函数定义时的形参个数sum.length

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>范例6-4</title>

随笔(一):JavaScript函数中的对象----arguments

关于arguments 调用函数时,如果需要传参,其实参数就是一个数组,在函数体的内置对象arguments可以访问这个数组,如: arguments[0]:第一个参数 arguments[1]:第二个参数 arguments[2]:第三个参数 arguments[3]:第四个参数 当然,在命名函数的时候,也可以不需要命名参数,直接调用arguments,如下图: 使用arguments中的length属性,来获知传入参数的个数: 一个函数可以传入不同的参数,这样就可以通过传参的方式,在Java

[Angular] HostListener Method Arguments - Blocking Default Keyboard Behavior

We are going to see how to using method arguments for @HostListener. First, we can use HostListener without method arguments: @HostListener('dblclick') toggle(){ this.collapsed = !this.collapsed; } It works fine. But if we need to get the $event obje

javaScript的arguments传参数

javaScript中的函数中,可以通过arguments数组获取参数,进行调用. 函数中未定义传参的情况下,外部可以传入多个参数. 使用方法: function func(a){ console.log(arguments[2]) } func(2,5,7);//打印7 func(2,5);//打印 undefined

js中 理解 this.initialize.apply ( this, arguments ) 定义对象的方式

var Class = { create:function() { return function() { this.initialize.apply(this, arguments); }; } } var Tool = Class.create(); Tool.prototype = { initialize: function($container){ this.val = 32; }, getVal:function(){ return this.val; }, setVal:funct

arguments.callee

arguments.callee在哪个函数中运行,他就代表哪个函数,一般在匿名函数中.在匿名函数中有时需要自己调用自己,但是由于是匿名函数,没有名字,所以可以用arguments.callee来代替匿名的函数. arguments: arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[n]参数function:选项.当前正在执行的 Function 对象的名字. n :选项.要传递给 Function 对象的从0开始的参数值索引.说明Ar