码迷,mamicode.com
首页 > 编程语言 > 详细

201506170744_《JavaScript权威指南(第六版)——函数调用变长实参和可选形参、》(P171-175)

时间:2015-06-17 09:26:11      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

一. 构造函数调用 (分有无return)

1. var obj = new Object();

   var obj = new Object;

这两行代码是等价的;表达式: new Obj.m();中,this指向的并不是Obj!!

构造函数通常不是用return关键字;

 

二. 间接调用

1.  call();和apply(); 作用:任何对象都可以调用任何方法/

     call();——使用它自有的实参作为函数的实参;

     apply();——以数组的形式传入实参;

 

2. 可选参数 : var  a = a || [];

3. 可变长的实参 : arguments是指向实参的引用;

    例如:

    function add(a,b,c) {

    if(arguments.length != 3) {

      throw new Error("参数实际传入的个数为: " + arguments.length +"个,但是函数定义的形参个数是3个!");

    }else{

      return a + b + c

  }

};

add(1,1,2,9);  //Error: 参数实际传入的个数为: 4个,但是函数定义的形参个数是3个!

3. function add(a,b,c) {if(arguments.length != 3) {throw new Error("参数实际传入的个数为: " + arguments.length +"个,但是函数定义的形参个数是3个!");}else{arguments[0] = null;return a + b + c}}; add(9,1,2);  //结果为 :3。 "9"被置为"null"值;

4. arguments在严格模式下它不能被赋值,不能作为形参名,被作为了保留字。

5. 

 

201506170744_《JavaScript权威指南(第六版)——函数调用变长实参和可选形参、》(P171-175)

标签:

原文地址:http://www.cnblogs.com/beesky520/p/4582353.html

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