gpt4 book ai didi

javascript变量空声明或对象

转载 作者:行者123 更新时间:2023-12-04 02:29:06 26 4
gpt4 key购买 nike

我知道我很可能是吹毛求疵但是...我有以下代码:

var book;
var i=0;

i = 300;
book = new CBook();
book.Title = "blahblah";
book.Contents = "lalalala";


function CBook() {
this.Title = "";
this.Contents = "";
}

现在我的问题是:

会不会更好

var book = {};

代替

var book;

在第一个版本中typeof(book)赋值之前返回undefined book = new CBook();

提前致谢

最佳答案

would it be better to have

var book = {};

不,有几个原因:

  1. 稍后执行 book = new Book(...) 时,您将创建一个对象只是为了将其丢弃。 (当然,非常好的 JavaScript 引擎可能会意识到这一点并对其进行优化。但仍然...)

  2. 如果您使用 lint 工具,您会主动阻止它们在您(正确地)初始化它之前警告您您尝试使用 book

  3. 如果出于某种原因,您的代码中有逻辑需要检查您是否已经分配了一本书,那么您将无法执行此操作。通过将变量保留为默认 undefined 值,该检查可以是 if (!book) {/* Not assigned yet */}。 (当然,朴素的 lint 工具也可能会就此向您发出警告。)

#2 也适用于 var i = 0; 中的 = 0

但如果您强烈希望在声明中初始化 booknull 可能是更好的选择。

关于javascript变量空声明或对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17632800/

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