gpt4 book ai didi

javascript - 在 if 中声明变量并在外部使用

转载 作者:搜寻专家 更新时间:2023-11-01 04:57:03 24 4
gpt4 key购买 nike

考虑以下代码:

var factory = function(someCondition) {
var para1 = 'some value';
if(someCondition)
var para2 = 'some other value';

return new MyClass(para1, para2);
}

我知道这段代码是perfectly legal ,即使 para2if 内部声明但在外部使用。

我的问题是:这种——虽然合法——是否被主要的 Javascript 风格指南认为是糟糕的风格?如果是,建议的替代方案是什么?

明确一点:我知道提升以及变量不是 block 作用域而是函数作用域的事实。

最佳答案

从技术上讲,变量是“提升”,代码将像这样执行:

var para1 = 'some value';
var para2;
if(someCondition)
para2 = 'some other value';

范围内的所有 var 声明在执行代码之前声明此范围内的变量。因此,它在实践中并没有太大的区别。但是,我认为像上面那样显式编写代码以明确范围内存在哪些变量是一种很好的风格。在条件中“隐藏”变量声明会导致混淆。

关于javascript - 在 if 中声明变量并在外部使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25580407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com