我收到了这个错误。
Unexpected '.'.
这一行:
}).call(this);
我检查了jslinterrors.com但找不到原因。
使用以下方法重现错误:
(function () {
"use strict";
var a = 1;
a = a + 1;
}).call(this);
答案 0 :(得分:0)
可能是因为您使用匿名函数,这是一种反模式。以下应该有效:
(function () {}())
答案 1 :(得分:0)
我发现您提供的代码没有任何问题。也许在jslint执行的解析中有一些不正确的东西,或者可能存在警告的真正原因,我找不到一个。通过一点点跳舞,您可以通过这样的方式发出警告。
/*global console */
(function () {
"use strict";
return function () {
var a = 1;
a = a + 1;
console.log(this);
};
}()).call([]); // used array rather than this so that it is easy to see in console
上
答案 2 :(得分:-2)
括号中包含的函数应立即调用,因此您无法在那里使用.call()
。
功能使用示例
(function () {
// do something
})();
相反,你可以做到
var foo = function () {
// do something
};
foo.call(this); // within scope