阅读别人的javascript代码时,发现匿名函数前面加下划线,如下面代码中 _(function(info){...}).bind(this)。
类似下面这样:
indexAPI.getVersion(_(function(info) {
this.sc_version = info.version;
this.release_date = info.date.substr(0,4) + "-" +info.date.substr(4,2) + "-" + info.date.substr(6,2);
// 创建组件
this.createComps();
// 添加对话框渲染
this.render();
}).bind(this));
不理解有什么用处,是jquery的规定吗?
我对javascript和jquery都不是很熟,求解。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
_是其定义的一个函数的简写名字,如同jquery中使用$表示jquery函数对象一样
例如:
按照语法规则,你的页面里面有一个叫
_的变量,是一个函数 ,_()是调用这个函数这个不是 js 的规定,也不是 jq 的规定,你确定那个环境中_不是一个函数么?
下划线
_是一个合法的标识符,所以这里可能是函数_(),其参数要求是一个函数。下划线是一个合法标识符,跟
foo和name没有本质区别。你代码中的下划线应该是个函数,你要找到它的定义才能知道具体含义。
个可能是用的lodash或者underscore库里面的函数,把当前的上下文绑定到函数中,也就是在特定的作用域中调用函数,类似于call和apply的语法糖
http://lodashjs.com/docs/#_bindfunc-this...