Javascript 如果我不’;我不知道函数的内容
如果他的创建者忘记使用var关键字,我如何将我的变量与这个函数中的变量隔离Javascript 如果我不’;我不知道函数的内容,javascript,inheritance,Javascript,Inheritance,如果他的创建者忘记使用var关键字,我如何将我的变量与这个函数中的变量隔离 for (var i = 0; i < 4; i++) { test(); } function test() { i = 0; } for(变量i=0;i
for (var i = 0; i < 4; i++)
{
test();
}
function test()
{
i = 0;
}
for(变量i=0;i<4;i++)
{
test();
}
功能测试()
{
i=0;
}
将for循环放在一个单独的范围内:
在函数中
function test(){
i = 0;
}
function trial(){
for (var i = 0; i < 4; i++){
test();
}
}
trial();
功能测试(){
i=0;
}
功能试验(){
对于(变量i=0;i<4;i++){
test();
}
}
审判();
这样,只有
试用
函数中的代码和函数才能访问该级别声明的变量。与前面使用范围界定的答案相同,但更好的方法是使用IIFE:
(function () {
for (var i = 0; i < 4; i++) {
test();
}
})();
(函数(){
对于(变量i=0;i<4;i++){
test();
}
})();
称之为
myAwesomeIndex
。在严格模式下运行代码,这样在现代浏览器中创建隐式变量时就会出现错误。否则,将代码的作用域设置为新的变量作用域。让函数的创建者添加var
关键字:-)Javascript全局/局部变量我相信您指的是IIFE。IIEF是,呃,其他的东西。@Alan。。。嗯。。。这会使它更像是一种功能失调而不是功能失调吗?