函数

当方法不需要返回值的时候,最好返回this,这个就可以进行链式调用风格的编程

arguments[ ]实参对象

可以获得函数的实参


callee和caller属性

callee:返回被执行函数的对象,可以在匿名函数中递归调用

var factorial = function(x) {
if (x<=1) return 1;
return x * arguments.callee(x-1);
};


caller:返回调用正在执行函数的函数,通过caller属性可以访问调用栈

函数的call()和apply()方法

我们可以将call()和apply()看做是某个对象的方法通过调用方法的形式来间接调函数

要想以对象o的方法来调用函数f()可以这样使用call和apply()

f.call(o);
f.apply(o);
等同于
o.m = f; // 将f存储为o的临时方法
o.m(); // 调 用 它 ,不传入参数
delete o.m; //将临时方法删除

call的第一个参数是要调用此方法的对象,接下来就各个参数.
apply和call差不多,只是它的参数都放在一个数组中
f.call(o,1,2);
f.apply(o,[1,2]);

闭包

能够访问另一个函数作用域中的变量的函数
var scope = "global scope";      <span style="font-family: Arial, Helvetica, sans-serif;">/ / 全 局 变 量</span>
function checkscope() {      
var scope = "local scope";      <span style="font-family: Arial, Helvetica, sans-serif;">/ / 局 部 变 量</span>
function f() { return scope; }
return f;    <span style="font-family: Arial, Helvetica, sans-serif;">/ / 在 作 用 域 中 返 回 这 个 值</span>
}
checkscope()()<span style="font-family: Arial, Helvetica, sans-serif;">/ / 返 回 值 是 什 么 ?local scope</span>






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值