浅谈javascript 函数内部属性_Javascript教程-查字典教程网
浅谈javascript 函数内部属性
浅谈javascript 函数内部属性
发布时间:2016-12-30 来源:查字典编辑
摘要:在函数内部有两个特殊的属性:arguments和this。arguments是一个类数组对象,包含传入的所有参数,但是这个对象还有一个名叫c...

在函数内部有两个特殊的属性:arguments 和 this。arguments是一个类数组对象,包含传入的所有参数,

但是这个对象还有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。

请看经典的阶乘函数例子:

复制代码 代码如下:

function Factorial(num) {

if (num <= 1) {

return 1;

} else {

return num * Factorial(num - 1);

}

}

function Factorial(num) {

if (num <= 1) {

return 1;

} else {

return num * arguments.callee(num - 1);

}

}

使用第一种方式是没有错的,但是耦合性太高,不太好,函数名改变之后,内部的函数名也要改变

第二种方式就是低耦合的做法,无论函数名怎么改变都不会影响函数执行。

this引用的是函数据以执行的环境对象,或者也可以说是this值

复制代码 代码如下:

window.color = "red";

var o = {color: "blue"};

function sayColor() {

alert(this.color);

}

sayColor();//red

o.sayColor = sayColor;

o.sayColor();//blue

caller属性,保存着调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,它的值为Null

复制代码 代码如下:

function outer() {

innter();

}

function innter(){

//alert(innter.caller);//耦合性太高

alert(arguments.callee.caller);

}

outer();

以上就是javascript函数内部属性的全部内容了,希望小伙伴们能够喜欢

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类