gpt4 book ai didi

javascript - 前端开发人员面试编码问题 : a not defined and b is defined?

转载 作者:行者123 更新时间:2023-11-30 13:46:37 28 4
gpt4 key购买 nike

我从 Frontend Developer Interview Coding Questions 得到了这个问题.为什么下面的代码片段会打印它打印的内容?我最初认为它会抛出一个 ReferenceError“b is not defined”(因为它看起来像“我们要将一个 undefined variable b 分配给一个预期的已定义变量 a) 但结果是“b 已定义,a 未定义,并且没有错误”?什么是 var a = b = 3; 在 javascript 中调用?

(function(){
var a = b = 3;
})();

console.log("a defined? " + (typeof a !== 'undefined'));
console.log("b defined? " + (typeof b !== 'undefined'));

最佳答案

var 仅适用于a 而不适用于b。因此,由于 b 没有用 var 定义并且被分配了一个值,所以它成为全局的。

如果你重写函数的工作原理,你可以清楚地看到 b 没有 var

(function(){
var a;
b = 3;
a = b;
})();

console.log("a defined? " + (typeof a !== 'undefined'));
console.log("b defined? " + (typeof b !== 'undefined'));

关于javascript - 前端开发人员面试编码问题 : a not defined and b is defined?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59200375/

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