引用纯数值变量值

时间:2018-02-22 16:59:15

标签: javascript

我们是否需要在纯数字变量值周围使用引号,例如10100

以下是示例。

// 1st version - without quotes
var foo = 10;
var bar = 'hello';
if (foo == 10 && bar == 'hello') {
	alert('something');
}

// 2nd version - with quotes
var foo = '10';
var bar = 'hello';
if (foo == '10' && bar == 'hello') {
	alert('something');
}

// 3rd version - mixed
var foo = 10;
var bar = 'hello';
if (foo == '10' && bar == 'hello') {
	alert('something');
}

所有三个版本的工作方式相同。那么,在10100和另一个纯数字变量值周围使用引号是一种好习惯吗?

我希望,这个问题不会被视为“基于意见”,因为可能存在一些真实的用例,我们可以从中了解哪个版本最正确。

1 个答案:

答案 0 :(得分:1)

对此主题的一些(自我)解释:



0 != 1




# ICC18 pushq %rbp #6.1 movq %rsp, %rbp #6.1 subq $16, %rsp #6.1 movl $0, %eax #7.5 cmpl $1, %eax #7.5 je ..B1.3 # Prob 100% #7.5 movl $10, -16(%rbp) #9.16 ..B1.3: # Preds ..B1.2 ..B1.1 movl $0, %eax #11.12 leave #11.12 ret #11.12 也会进行类型检查,这解释了行为。

Difference between == and === in JavaScript

问候