码迷,mamicode.com
首页 > Web开发 > 详细

JS——函数小结(1)

时间:2015-05-15 21:31:07      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:js   函数   冒充   

函数的声明和冒充

       要了解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中很多地方有有应用,理解清楚应用的原理还是很有必要的,以上是结合视频数部分的实例和理论知识理解到的,大家有不同的见解请指教!

 

JS——函数小结(1)

标签:js   函数   冒充   

原文地址:http://blog.csdn.net/yxflovegs2012/article/details/45748539

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!