如何在同一文字中访问刚刚在文字中定义的函数
How to access functions just defined in literal in other function in same literal?
>假设我有一个属性 { retired: true } 的自行车对象,我想准备一些过滤器,比如 function 和 notFunctioning:
var BikeChecker = {
functioning: function(bike) {
return (bike.retired != true);
},
notFunctioning: function(bike) {
return !functioning(bike);
};
我如何从 notFunctional 中访问 function,从而避免从头开始编写 notFunction?
我想避免:
notFunctioning: function(bike) {
return (bike.retired == true);
}
并且,请不要建议做!functioning(bike)而不是定义notFunctioning(bike)(因为angular-js不允许我否定传递给过滤器"过滤器"的功能)
你不能
直接。不能直接引用尚不存在的对象文本。
一种常见的模式是使用工厂(IIFE),以便将对象存储在可以引用的变量中:
var BikeChecker = (function(){
var b = {};
b.functioning = function(bike) {
return (bike.retired != true);
};
b.notFunctioning = function(bike) {
return !b.functioning(bike);
}
return b;
})();
另一种模式是使用原型,以便您可以参考this
但我不建议将其用于单例。
相关文章:
- JavaScript 对象 - 未定义的数字键文字
- Javascript:添加键值对文字,给出未定义的结果
- 是否可以在 javascript 中的对象文字上定义函数属性
- Array.fill 不同于赋值上的文字 2D 定义
- JavaScript 中的对象文字只能在窗口对象中定义
- Javascript:在对象文字函数中定义的事件侦听器使代码死亡
- 如何在同一文字中访问刚刚在文字中定义的函数
- 为什么定义带或不带引号的 JavaScript 对象文字时存在速度差异
- 为什么定义带或不带引号的 JavaScript 对象文字会有所不同
- 画布对象文字:未捕获类型错误:无法调用未定义的方法“getContext”
- 使用javascript对象文字表示法定义函数
- JavaScript:优化自定义对象文字的排序
- JavaScript数组文字定义中逗号后面的值是什么
- 无法在 JavaScript 对象文字中定义变量
- 我能不能定义一个方法,给它一个值,并在对象文字中分配其他方法
- JS作用域中对象文字中的未定义变量
- 在Javascript中定义对象文字时如何引用对象属性
- 如何检查文字中的属性是否未定义
- 为什么这个变量在对象文字中没有定义
- 对象文字未定义