1. 函数 add可以实现连续的加法运算, 函数add的语法如下:
都指定作用域(指向this,指向对象),
call 与 apply 实现的功能相同: 将callFun, applyFun 方法在a对象作用域运行;
bind实现功能:bindFun方法会创建一个新的函数,称为绑定函数,applyFun方法在this环境下调用
该方法可传入两个参数,第一个参数作为this,第二个及以后的参数则作为函数的参数调用
callFun.call(a, 1, 2, 3);
applyFun.apply(a, [1,2,3]);
bindFun.bind(this, 1, 2, 3);
4.有关javascript函数对象(函数当对象字面量使用竟然不报错!)
"age:"被看作了标签语句(label statement)不会起作用
5. 如何在JavaScript里指定一个对象作为上下文去eval字符串?
比如 d = {x: 1, y: 2} , expr = "x * 2 + y" , 然后evalWith(d, expr) 就返回4
6. 关键字"new" 执行时,构造函数的执行过程
6.1 创建一个新对象;
6.2 将构造函数的作用域赋给新对象(因此this就指向了这个新对象)
6.3 执行构造函数中的代码(为这个心对象添加属性、方法)
6.4 返回新对象
7.在Javascript中,每一个函数实际上都是一个函数对象.(函数 与 对象的关系)
8.arguments、caller 和 callee 介绍
arguments.caller 指向调用该函数的 函数;
arguments.callee 指向当前函数;