var tryThis = false
try {
if (tryThis = true) {
console.log("Why does this get printed?")
}
} catch(e) {
console.log("The error is", e)
}
我对Javascript的try / catch语句的理解肯定存在问题。我是新手,所以任何帮助都会受到赞赏!
答案 0 :(得分:3)
这一行:
if (tryThis = true) {
将 true
分配给tryThis
,true
评估为(如上文评论的@Tibrogargan) if (tryThis === true) {
。代替:
===
您想要比较这些值。使用x
。
答案 1 :(得分:0)
// this is actually assigning `true` to `tryThis`
if (tryThis = true)
当你需要在布尔值之间进行比较时,你不需要这样做:tryThis === true
,因为它是不必要的。
var tryThis = false
try {
if (tryThis === true) {
^
只需使用布尔值,如下所示:
var tryThis = false
try {
if (tryThis) { // this is the same as tryThis === true or tryThis !== false
^
如果要将布尔值与false进行比较,请不要这样做:
tryThis === false
^
而是使用否定运算符,因此,请执行以下操作:
!tryThis
^