我知道我很可能在挑剔,但是...我有以下代码:
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)在分配书= new CBook()之前返回undefined;
提前致谢
最佳答案
否,原因如下:
book = new Book(...)
时将创建一个对象只是将其丢弃。 (当然,一个非常好的JavaScript引擎可能会意识到这一点并对其进行优化。但是仍然...)lint
工具,则会积极阻止它们警告您(正确)初始化book
之前尝试使用undefined
。if (!book) { /* Not assigned yet */ }
值,该检查可以是= 0
。 (当然,天真的 Lint 工具也可能会警告您。)#2同样也用于
var i = 0;
中的book
。但是,如果您强烈希望在声明中初始化
null
,那么ojit_code可能是一个更好的选择。关于javascript - javascript变量为空的声明或对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17632800/