JS——函数小结(1)

函数的声明和冒充

       要了解call和apply就要从JS的函数开始说明,函数的声明包括三种方式

<span style="font-size:18px;">一般的声明方法
function box(num1,num2){
   return num1+num2;
}
alert(box(1,3));//4
 
//使用变量初始化函数
var box=function(num1,num2){
   return num1+num2;
};
alert(box(1,3));//4
 
//使用Function构造函数  该方法是不推荐使用
var box=newFunction('num1','num2','returnnum1+num2');
alert(box(2,3));<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span></span>

        函数也可以看做是一个特殊的对象,表示的是对象中的方法。而每一个声明的函数都包括了一个属性prototype,这个属性有两个方法就是call和apply,也就是所说的对象冒充。对象冒充可以理解为改变函数的作用域。下面来看一个例子。

<span style="font-size:18px;">var color='red';  //全局变量,color是全局变量window的属性
var box={
       color:'blue',//这里的color是box的属性
}
function sayColor(){
       alert(this.color);  //申明一个函数
}
sayColor();
//如果直接的调用函数结果为red。因为其中的this表示的window
 
sayColor.call(box); 
//使用call进行对象冒充,其中的box其实表示的是sayColor()函数的作用域是box,这样在调用函数是其中的this表示的就是box</span>

小结

      对象冒充这一部分在JS中很多地方有有应用,理解清楚应用的原理还是很有必要的,以上是结合视频数部分的实例和理论知识理解到的,大家有不同的见解请指教!

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。