【发布时间】:2016-01-26 09:13:12
【问题描述】:
在严格模式下使用 FireFox 时出现此错误。但我不确定这意味着什么。我认为这意味着必须在调用该函数之前声明该函数,但错误仍然存在。
SyntaxError:在严格模式代码中,函数只能在顶层或直接在另一个函数中声明
这是导致错误的代码的 sn-p:
var process = new function(){
var self = this;
self.test = function(value,callback){
var startTime = Date.now();
function update(){ //<--- error is here
value++;
startTime = Date.now();
if(value < 100){
setTimeout(update, 0);
}
callback(value);
}
update();
}
};
所以我想知道如何使用 strict 正确地写出这段 sn-p 代码?顶级是什么意思?这是否意味着全局定义而不是在函数中本地定义?
另外,我有use strict,为什么Chrome不会出现这个问题?
【问题讨论】:
-
错误是
SyntaxError: in strict mode code, functions may be declared only at top level or immediately within another function -
value++startTime = Date.now();? -
哎呀,格式化问题时必须删除它
-
那个sn-p的代码不会导致任何错误。您能否发布一个演示您遇到的问题的最小代码示例
-
@JaromandaX 可能是因为您没有在 Firefox 中打开严格模式。
标签: javascript