概述
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>new_file</title>
<meta name="author" content="ASUS" />
<script type="text/javascript">
/*
* 每个函数对象都要一个arguments的内部属性,它是一个数组,代表传递进来的参数(实际传递进来的参数的个数)。
* 同时,arguments有一个callee的方法,通过arguments.callee(args)可以反向调用
*/
function printOut(num){
alert(arguments.length);
for (var i=0; i <arguments.length; i++) {
alert(arguments[i]);
}
}
//以下是一个求阶乘的函数
function fa(num){
if(num==1) return 1;
//下面的语句中和函数名耦合在了一起
else return num*fa(num-1);
}
function fa1(num){
if(num==1) return 1;
//通过arguments.callee(args)实现了函数名的解耦 在js中通常都是使用这种方式做递归
else return num*arguments.callee(num-1);
}
//alert(fa(5));
//alert(printOut([1,2,3]));
//alert(printOut(1,2,3));
/*
*函数中的this属性
* 在面向对象的语言中,在类中,访问本类的属性和方法都要使用this关键字来引用
* 但是在js中 this代表的是当前上下文
* 所以this在调用时会根据不同的调用对象而变的不同,引用不同的对象
*/
var color="red";
function showColor(){
alert(this.color);
}
function Person(color){
this.color = color;
this.showColor = showColor;
}
var p1 = new Person("blue");
//使用p1来调用showColor,也就是调用我们在外部定义的showColor函数
//此时的this就是p1
p1.showColor();//blue
//定义的 var color="red"; color就是window对象的属性 所以这时this就是window
showColor();//red
</script>
</head>
<body>
</body>
</html>
最后
以上就是独特小土豆为你收集整理的javascript函数的内部属性arguements及agruments.callee函数的全部内容,希望文章能够帮你解决javascript函数的内部属性arguements及agruments.callee函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复