首页 > 网站 > WEB开发 > 正文

javascript——函数内部属性

2024-04-27 14:13:48
字体:
来源:转载
供稿:网友

javascript——函数内部属性

 1  <script type="text/Javascript"> 2         //在函数内部有两个特殊的属性:arguments 和 this。arguments是一个类数组对象,包含传入的所有参数, 3         //但是这个对象还有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。 4         //请看经典的阶乘函数例子: 5         function Factorial(num) { 6             if (num <= 1) { 7                 return 1; 8             } else { 9                 return num * Factorial(num - 1);10             }11         }12 13         function Factorial(num) {14             if (num <= 1) {15                 return 1;16             } else {17                 return num * arguments.callee(num - 1);18             }19         }20 21         //使用第一种方式是没有错的,但是耦合性太高,不太好,函数名改变之后,内部的函数名也要改变22         //第二种方式就是低耦合的做法,无论函数名怎么改变都不会影响函数执行。23 24         //this引用的是函数据以执行的环境对象,或者也可以说是this值25         window.color = "red";26         var o = {color: "blue"};27         function sayColor() {28             alert(this.color);29         }30 31         sayColor();//red32         o.sayColor = sayColor;33         o.sayColor();//blue34 35 36 37         //caller属性,保存着调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,它的值为Null38         function outer() {39             innter();40         }41 42         function innter(){43             //alert(innter.caller);//耦合性太高44             alert(arguments.callee.caller);45         }46 47         outer();48     </script>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表