javascript - 高级技巧中的bind方法怎么理解
阿神
阿神 2017-04-11 10:34:33
[JavaScript讨论组]

function bind(fn, context){

return function(){
     return fn.apply(context, arguments);
};

}

这是JavaScript高级程序设计高级技巧中bind方法 对这个方法我有两点疑问:

1、argument是里面的方法的参数集合,但是又传不到参数给里面的方法,那这个argument有什么意义?

2、调用里面的fn时,为什么要加return,不加也可以调用啊,加了有什么意义?

阿神
阿神

闭关修行中......

全部回复(1)
阿神

举个简单例子

var a = 0;
var obj = {a:2};
function add(x,y){ return this.a + x + y;}

在非严格模式下

add(3,4) //7
bind(add,obj)(3,4) //9
  1. arguments 是传到返回的函数里面的 也就是上文的 类似[3,4]的东西(array like)

  2. return 是返回了一个值
    return

    • 如果函数是只有副作用的 比如触发一个动作,改某个变量的值的那是没啥

    • 如果没副作用函数 比如我上面这个add 那你怎么写能到达我现在要的效果...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号