有人知道为什么这段代码不会在 JSHint 中产生错误吗?
我认为它应该给我一个可变的阴影警告,但我没有得到一个。
我在使用 Visual Studio 插件时将“容忍变量阴影”设置为错误。
RES.test = function () {
var test, f;
f = function () {
var test;
window.alert(test);
};
};
谢谢。
有人知道为什么这段代码不会在 JSHint 中产生错误吗?
我认为它应该给我一个可变的阴影警告,但我没有得到一个。
我在使用 Visual Studio 插件时将“容忍变量阴影”设置为错误。
RES.test = function () {
var test, f;
f = function () {
var test;
window.alert(test);
};
};
谢谢。
我也偶然发现了这个。显然 JSHint 开发人员对“阴影”的定义不是你所期望的。对他们来说,隐藏来自闭包的变量名并不是隐藏。是的,我也觉得很奇怪:-)
如果您查看他们的测试套件,它们的意思是“重新定义”,您在哪里
var a = 1;
...
var a = 2;
看看他们的测试用例:https ://github.com/jshint/jshint/blob/master/tests/stable/unit/fixtures/redef.js