我想问你传递代码时返回的值是多少 ('0'?'0':'1'),我的意思是为什么'0'被认为是真的,当你问一个字符串是否为真时返回的实际值是什么,我知道它也可以写成if('0'){'0'} else {'1'}我只想知道为什么字符串'0'被视为真,如果所有字符串都是真的,如果你有这样的条件
提前致谢!
答案 0 :(得分:1)
当你说'0'时,你指的是ASCII字符'0',当转换为int
时实际上是48,因此产生了真正的......
任何存在的值都会导致javascript true
或条件语句中的if
。在false中执行的几个值是int 0,boolean false或未定义(未声明的)变量。
以下示例:
var d;
if(d) alert("exists");
else alert("d undefined");
d="a";
if(d) alert("exists");
else alert("d undefined");
//if(x) // Commented out because this is an error because x identifier does not exist (declared) yet.
if(1) alert("1 is true");
else alert("1 is false");
if("false") alert("String false results in true");
if(false) alert("This won't be displyed");