js的arguments,callee,caller,length,prototype属性

原创 2012年03月31日 16:20:52

js的arguments,callee,caller,length,prototype属性 我用几个例子简单的介绍下这几个函数

 

 

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<script type="text/javascript" >
function myFunc(arg1,arg2){};
alert(myFunc.length);//显示函数形参的个数 结果为2
//------------------------------
function myfunc2(){
	var s="";
	var len=arguments.length;
	for (var i=0;i<len;i++){
		s+=arguments[i];//此处要注意 arguments并非真正的数组,如果需要变为数组,下面有方式方法。
		//var args=Array.prototype.slice.call(arguments);//将arguments转变成真正的数组,并赋予args
	};
	alert(s);
};
myfunc2(1,2,3);//结果为123

(function test(){
	 alert(arguments.callee);//arguments.callee指的就是函数自己 注意 callee是 arguments的属性,不是函数的的
 })();
//------------------------------
function printStackTrace(fn){//此函数可以找到函数的调用轨迹
	var s="";
	while(fn.caller){
		s+=fn.caller;//fn.caller查看函数的被调用者
		s+="\n<--\n";
		fn=fn.caller;
	};
	alert(s);
};

function test3(){
	printStackTrace(test3);
};

function test2(){
	test3();
};

function test1(){
	test2();
};

function test0(){
	test1();
};

test0();
//------------------------------
</script>
</body>
</html>

vue-cli创建的项目中引入第三方库报错 'caller', 'calle', and 'arguments' properties may not be...

以在vue中引入mui第三方库为例: 虽然针对vue,有单独的vue-mui库可以使用,但因习惯了直接使用第三方库,且单独的mui更全面一点,所以想要作为第三方js库来引用。 问题: 在vue的m...
  • Sophie_U
  • Sophie_U
  • 2017年07月28日 09:05
  • 1355

理解argument和 callee 属性

arguments   javascript中的函数定义并未指定函数形参的类型,函数调用也未对传入的实参值做任何类型检查。实际上,javascript函数调用甚至不检查传入形参的个数 func...
  • qq_34986769
  • qq_34986769
  • 2016年08月10日 17:28
  • 698

js中的 caller与callee用法小实例

caller函数fun的calle返回调用fun的函数对象,即fun的执行环境,如果fun的执行环境为window则返回nullfunction fun(){ console.log(fun....
  • qq_17335153
  • qq_17335153
  • 2016年09月18日 15:44
  • 810

理解js中call,apply,caller,callee的区别

理解js中call,apply,caller,callee的区别 javascript中的call(),apply(),caller(),callee()方法作用都是调用某个函数或方法,概念...
  • huangchao1010
  • huangchao1010
  • 2016年11月08日 01:54
  • 1552

js的caller和callee

caller返回一个函数的引用,这个函数调用了当前的函数;callee放回正在执行的函数本身的引用,它是arguments的一个属性,感兴趣的你可以参考下或许可以帮助到你 caller ...
  • yygg329405
  • yygg329405
  • 2015年03月01日 21:56
  • 1631

关于this、arguments、caller、callee、prototype、__proto__、length

1、this是一个对象,同时也是一个指针,指向的是函数执行环境(函数地址),它所返回的是一个函数体,包括这个函数下所有的属性值和方法,并且通过this来调用,增加,删除这些属性和方法。2、argume...
  • here962464
  • here962464
  • 2017年09月25日 19:11
  • 74

js中arguments.callee在递归函数中的妙用

在很多语言的面向对象编程中,this关键字代表的是"这个类的",比如下面的php代码: 要给类的属性赋值(或进行其他操作),就要使用this关键字,可以形象的理解为"给我这个类的属性(变量)赋值,而...
  • qlzx_syzx
  • qlzx_syzx
  • 2016年07月18日 23:30
  • 3569

caller和callee的区别

caller和callee的区别
  • laijieyao
  • laijieyao
  • 2015年02月02日 09:51
  • 37435

arguments 向array转化中 需要注意的一个小细节

当然,ES6+之后可以直接用array.from来构造array了。这之前在转换时需要注意用concat时要把args作为参数而不是thisArg,slice则相反 function useArg...
  • github_36487770
  • github_36487770
  • 2017年09月03日 18:21
  • 105

arguments的caller,callee

arguments       该对象是函数的隐含参数,代表调用它的函数的参数。 arguments.caller      返回一个对函数的引用,该函数调用了当前函数。说明caller 属性只有在函...
  • Jetin_Wu
  • Jetin_Wu
  • 2009年12月27日 16:51
  • 227
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js的arguments,callee,caller,length,prototype属性
举报原因:
原因补充:

(最多只允许输入30个字)