原生js

函数是对象,函数名是指针

2018-05-19  本文已影响0人  小妍妍说

函数是这样一段JavaScript代码,它只定义一次,但可能被执行或调用任意次。在JavaScript里,函数即对象,程序可以随意操控它们,比如,JavaScript可以把函数赋值给变量,或者作为参数传递给其他函数。因为函数就是对象,所以可以给他们设置属性,甚至调用它们的方法。

由于函数名仅仅是指向函数的指针,因此函数名与包含对象指针的其他变量没有什么不同,换句话说,一个函数可能会有多个名字,比如:

```

function sum(num1,num2){

return num1+num2;

}

alert(sum(10,10));                  //20

var anotherSum = sum;

alert(anotherSum(10,10));      //20

sum = null;

alert(anotherSum(10,10));      //20

```

解释:以上代码首先定义了一个名为sum()的函数,用于求两个值得和。然后,又声明了变量anotherSum,并将其设置为与sum相等(将sun的值赋给anotherSum)。注意,使用不带圆括号的函数名是访问函数指针,而非调用函数。此时,anotherSum和sum都指向了同一个函数,因此anotherSum()也可以被调用并返回结果。即使将sum设置成null,让它与函数“断绝关系”,但仍然可以正常调用anotherSum()。

上一篇 下一篇

猜你喜欢

热点阅读