Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么';我的等式比较使用=(单个等式)是否正确?_Javascript_Equality - Fatal编程技术网

Javascript 为什么';我的等式比较使用=(单个等式)是否正确?

Javascript 为什么';我的等式比较使用=(单个等式)是否正确?,javascript,equality,Javascript,Equality,我试图检查一个字符串是否为空,小于或等于9位,或者最多为10位。但是如果(str.length=始终是赋值,那么它总是跟在后面。相等比较是=(松散,强制类型尝试进行匹配)或==(无类型强制) 所以你想要 if (str === ''){ // -----^^^ 不是 如果(str='')赋值str=''完成,然后测试结果值(''),效果如下(如果我们忽略两个细节): 由于'在JavaScript中是一个错误的值,如果(str.length=始终是赋值,则该检查将为false,并转到else。相

我试图检查一个字符串是否为空,小于或等于9位,或者最多为10位。但是如果(str.length
=
始终是赋值,那么它总是跟在
后面。相等比较是
=
(松散,强制类型尝试进行匹配)或
==
(无类型强制)

所以你想要

if (str === ''){
// -----^^^
不是

如果(str='')
赋值
str=''
完成,然后测试结果值(
''
),效果如下(如果我们忽略两个细节):


由于
'
在JavaScript中是一个错误的值,如果(str.length
=
始终是赋值,则该检查将为false,并转到
else。相等比较是
==
(松散,强制类型尝试进行匹配)或
==
(无类型强制)

所以你想要

if (str === ''){
// -----^^^
不是

如果(str='')
赋值
str=''
完成,然后测试结果值(
''
),效果如下(如果我们忽略两个细节):


因为
'
在JavaScript中是一个错误的值,所以该检查将是错误的,并且它将转到
else if(str.length)我肯定这其中肯定有一个规范性的问题…。@T.J.Crowder-可能,但是如果他们中的任何人有一个标题像这一个一样清晰,我会感到惊讶。大多数情况下,他们来做“我的代码不工作,我不知道为什么”@昆汀:是的。我正在把这个编辑成一个。:-@T.J.Crowder-oops,没有注意到这是你的编辑:)@昆汀:不用担心,这是一个更好的标题我相信这肯定有一个规范性的问题。…@T.J.Crowder-可能,但如果他们中的任何人有一个标题像这一个一样清晰,我会感到惊讶。大多数情况下,他们是来做的“我的代码不起作用,我不知道为什么”@Quentin:是的。我正在把它编辑成一个。:-@t.J.Crowder-oops,没注意到那是你的编辑:)@Quentin:不用担心,这是个更好的标题
// NOT THIS
if (str = ''){
// -----^
str = '';
if (str) {