201506231015_《Javascript权威指南(第六版)——作为命名空间的函数、闭包、 》(P181-193)

1. 作为命名空间的函数。 形如: var someFn = (function(){var a = 0;return function f(){// ...};}());

2. 闭包。

  闭包内无法直接访问外部函数的参数,除非将外部的实参列给一个变量存储以来。例如:var outerArguments = arguments;

3. 函数的属性,方法,构造函数

  a. 
      arguments.length;  (期望传入的实参个数)

      arguments.callee.lenth;(实际传入的实参个数)

  b. prototype属性

    构造函数会从原型对象上继承属性和方法;

  c. call()和apply()

     第一个参数是要“要调用函数的母对象”

     形如:函数.call(对象);  函数.apply(对象);

4. bind();——将函数绑定至整个对象;(返回一个函数对象)

  例如:

  function square(x) {return x*x}; var obj = {x : 2}; var newObj = square.bind(obj,obj.x); console.log(newObj());   //4  注意括号,因      为“square.bind(obj,obj.x);” 是个function类型!!

 

5. toString();

6. Function();构造函数

   a. 传入任意数量的字符串实参;

   b. var fn = new Function("x","y","return x + y;"); fn(2,3);  //5

   c. var scope = "global"; function constructFunction(){var scope = "local";return new Function("return scope")  //无法获取local};

 

7. 

 

 

 

posted @ 2015-06-23 16:02  Coca-code  阅读(109)  评论(0编辑  收藏  举报