下载此文档

java script中的四种函数调用.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
javascript中四种函数调用模式及对this的不同绑定
By saymoon on 2009年10月27日
撰写此文源于最近在看Douglas Crockford的’JavaScript:The Good Parts’中文译本《Javascript语言精粹》时,发现一些自己不知道或者没有一下子理解的东西,拿出来细细研究并记录一下。
函数被作为很重要的一部分在书中做了详细的介绍和举例。感觉函数的四种调用方式和在不同调用方式上’this’绑定的不同是个重点也是难点。欢迎大家一起研究。
方法调用模式:
调用形式:通过’.'点表达式或[subscript]下标表达式调用一个对象中的方法。 this绑定:this被绑定到被调用方法所属的对象上。例子:
帮助
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//  创建 myObject 对象。它有一个 value 属性和一个 increment 方法。
//  increment 方法接收一个可选参数。如果参数不是数字,那么默认使用数字1。
</p>
 
<p>var g = 'global';</p>
 
<p>var myObject = {
    value: 0,
    increment: function (inc) {
        ();
         += typeof inc === 'number' ? inc : 1;   
//  在方法被调用时this被绑定为myObject对象。
    }
};</p>
 
<p>();     //  global
                                 
//  打印出全局变量g的值,说明this被绑定在全局对象上。
();   
//  在这里increment方法才被调用,this才被绑定到myObject对象,
这是特有“超级”迟绑定(very late binding)。
                            
//  ,因为myObject中没有g这个属性,
可以看出这时this被绑定到了myObject对象上。</p>
 
<p>();    //  1
();     //  global
                                
 //  打印出全局变量g的值,函数调用结束后,
this又被从myObject对象上绑定回全局对象上。</p>
 
<p>(2);
();    //  3
函数调用模式:
调用形式:当一个函数并非一个对象的属性时,它被当作一个

java script中的四种函数调用 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zhoubingchina1
  • 文件大小67 KB
  • 时间2018-08-10