Javascript 相等比较赋值
我试图理解这行代码是如何工作的。显然,如果LAUNCH的值为'ready',isReady将返回true,否则返回false。这里发生了什么Javascript 相等比较赋值,javascript,Javascript,我试图理解这行代码是如何工作的。显然,如果LAUNCH的值为'ready',isReady将返回true,否则返回false。这里发生了什么 const LAUNCH = 'ready' const isReady = LAUNCH === 'ready' 这里发生了什么 const LAUNCH = 'ready' const isReady = LAUNCH === 'ready' 首先,它要计算正确的表达式LAUNCH=='ready',这是真的 然后,只需将该值赋给isReady
const LAUNCH = 'ready'
const isReady = LAUNCH === 'ready'
这里发生了什么
const LAUNCH = 'ready'
const isReady = LAUNCH === 'ready'
首先,它要计算正确的表达式LAUNCH=='ready',这是真的
然后,只需将该值赋给isReady变量。isReady变量将每次保存一个布尔值
这里发生了什么
const LAUNCH = 'ready'
const isReady = LAUNCH === 'ready'
首先,它要计算正确的表达式LAUNCH=='ready',这是真的
然后,只需将该值赋给isReady变量。isReady变量每次都会保存一个布尔值。要添加到正确的答案中,求值的顺序决定了世界上所有的差异 下面的代码片段旨在帮助您更好地理解如何在JS中计算事物:
var obj = {
true: "stuff"
}
var stuff = function () {
return function () {
return 2+2
}
}
window[obj["hi".length == 2]]()() == 4 // this weird statement returns true
这里发生的是以下评估顺序:
hi.length被计算为2
2==2的计算结果为真
将true强制为字符串后,obj[true]将计算为stuff
window[stuff]被计算为一个现有函数
调用该函数将返回另一个函数
调用另一个函数执行2+2并返回4
最后,4==4被计算为true
为了补充正确的答案,评估的顺序决定了世界上所有的不同 下面的代码片段旨在帮助您更好地理解如何在JS中计算事物:
var obj = {
true: "stuff"
}
var stuff = function () {
return function () {
return 2+2
}
}
window[obj["hi".length == 2]]()() == 4 // this weird statement returns true
这里发生的是以下评估顺序:
hi.length被计算为2
2==2的计算结果为真
将true强制为字符串后,obj[true]将计算为stuff
window[stuff]被计算为一个现有函数
调用该函数将返回另一个函数
调用另一个函数执行2+2并返回4
最后,4==4被计算为true
如果你遇到这样的事情,有一个有用的表格可以指导你。谢谢。非常有帮助!如果你遇到这样的事情,有一个有用的表格可以指导你。谢谢。非常有帮助!Launch=='ready'类似于Launch变量严格等于ready吗?结果为true这就是为什么当您打印isReady时,结果为true..Launch==='ready'就像Launch变量严格等于ready一样?结果为真这就是为什么当你打印isReady时结果为真。@david这不应该是公认的答案。这只是一个旁注。很好的解释!这很有道理@阿德林,祝贺你的精彩配音。@MihaiAlexandru Ionut,呵呵:multumesc@david这不应该是公认的答案。这只是一个旁注。很好的解释!这很有道理@阿德林,祝贺你有一个很棒的配音。@MihaiAlexandruIonut,呵呵:multumesc