首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >仅使用var在JavaScript中声明布尔值

仅使用var在JavaScript中声明布尔值
EN

Stack Overflow用户
提问于 2009-03-17 11:58:47
回答 8查看 332.4K关注 0票数 94

如果我像这样声明一个JavaScript布尔变量:

代码语言:javascript
运行
复制
var IsLoggedIn;

然后用true1初始化它,这样安全吗?或者用1初始化它会使变量变成一个数字?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-03-17 12:03:03

类型取决于您的初始化:

代码语言:javascript
运行
复制
var IsLoggedIn1 = "true"; //string
var IsLoggedIn2 = 1; //integer
var IsLoggedIn3 = true; //bool

但是看看这个例子:

代码语言:javascript
运行
复制
var IsLoggedIn1 = "true"; //string
IsLoggedIn1 = true; //now your variable is a boolean

变量的类型取决于JavaScript中的赋值。

票数 173
EN

Stack Overflow用户

发布于 2009-03-17 12:00:30

不不安全。您可以稍后执行var IsLoggedIn = "Foo";,JavaScript不会抛出错误。

这样做是可能的

代码语言:javascript
运行
复制
var IsLoggedIn = new Boolean(false);
var IsLoggedIn = new Boolean(true);

您还可以将非布尔变量传递给new Boolean(),它将使IsLoggedIn成为布尔值。

代码语言:javascript
运行
复制
var IsLoggedIn = new Boolean(0); // false
var IsLoggedIn = new Boolean(NaN); // false
var IsLoggedIn = new Boolean("Foo"); // true
var IsLoggedIn = new Boolean(1); // true
票数 20
EN

Stack Overflow用户

发布于 2013-03-26 21:35:49

正如这个very useful tutorial所说的:

代码语言:javascript
运行
复制
var age = 0;

// bad
var hasAge = new Boolean(age);

// good
var hasAge = Boolean(age);

// good
var hasAge = !!age;
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/653921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档