多个 JavaScript 方法调用未在表达式中调用
multiple javascript methods calls not invoked in expression
JavaScript 函数
function tile(u,v, a,b,c,d) {
var c0 = tileCorners[a].eval(u,v);
var c1 = tileCorners[b].eval(u-1,v);
var c2 = tileCorners[c].eval(u,v-1);
var c3 = tileCorners[d].eval(u-1,v-1);
return c0 + c1 + c2 + c3;
}
应等效于
function tile(u,v, a,b,c,d) {
return
tileCorners[a].eval(u,v) +
tileCorners[b].eval(u-1,v) +
tileCorners[c].eval(u,v-1) +
tileCorners[d].eval(u-1,v-1);
}
然而,第二个函数总是返回undefined
(调试器不会"单步执行"对eval
的调用),而第一个函数的行为正确。在错误的表达式中有多个eval
方法调用是否有问题?
你是分号插入规则的受害者。
尝试:
return tileCorners[a].eval(u,v) +
tileCorners[b].eval(u-1,v) +
tileCorners[c].eval(u,v-1) +
tileCorners[d].eval(u-1,v-1);
您的版本等效于:
return;
tileCorners[a].eval(u,v) +
tileCorners[b].eval(u-1,v) +
tileCorners[c].eval(u,v-1) +
tileCorners[d].eval(u-1,v-1);
相关文章:
- 调用正则表达式匹配的函数
- Javascript:应为赋值或函数调用,但实际看到的却是表达式
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- Javascript:JSHint:应为赋值或函数调用,但实际看到的却是表达式
- 立即调用函数表达式(IIFE)相对于普通函数的优势
- 错误-应为赋值或函数调用,但实际看到的却是表达式
- “期望赋值或函数调用,而是看到了表达式.” - 不必要的控制台.log
- Js提示:“;期望一个赋值或函数调用,而看到一个表达式“;,Switch语句
- 请解释一下“;立即调用函数表达式“;以及“;自调用匿名函数”;
- ng-class 的函数表达式在 ng-click 时被调用
- 聚合物表达式:仅允许调用标识符函数
- 将函数调用与 JS 正则表达式匹配
- JS - 正则表达式替换在一次调用中发生多次,如何让它运行一次
- Object.Prototype 方法和 IIFE(立即调用的函数表达式)中的“use strict”
- 如何调用 Javascript 函数表达式
- 将立即调用的函数表达式 (IIFE) 与事件发射器一起使用
- OpenUI5/SAPUI5 中表达式绑定中的函数调用
- HotTowel Angular 和立即调用的函数表达式 (IIFE)
- Javascript 调用函数表达式
- 对象成员函数的Javascript函数调用表达式