Javascript 什么';我的try/catch代码有什么问题?
我对Javascript的try/catch语句的理解肯定有问题。我是新手,所以任何帮助都将不胜感激 这一行:Javascript 什么';我的try/catch代码有什么问题?,javascript,try-catch,Javascript,Try Catch,我对Javascript的try/catch语句的理解肯定有问题。我是新手,所以任何帮助都将不胜感激 这一行: var tryThis = false try { if (tryThis = true) { console.log("Why does this get printed?") } } catch(e) { console.log("The error is", e) } 将true分配给tryThis,其计算结果为(如上@Tibrogargan所述)分配给tr
var tryThis = false
try {
if (tryThis = true) {
console.log("Why does this get printed?")
}
} catch(e) {
console.log("The error is", e)
}
将true
分配给tryThis
,其计算结果为(如上@Tibrogargan所述)分配给true
。相反:
if (tryThis = true) {
您希望比较这些值。使用此行:
var tryThis = false
try {
if (tryThis = true) {
console.log("Why does this get printed?")
}
} catch(e) {
console.log("The error is", e)
}
if (tryThis === true) {
将true
分配给tryThis
,其计算结果为(如上@Tibrogargan所述)分配给true
。相反:
if (tryThis = true) {
您希望比较这些值。使用==
if (tryThis === true) {
这只是为了帮助您理解如何比较布尔值
当需要在布尔值之间进行比较时,不需要这样做:tryThis===true
,因为这是不必要的。
// this is actually assigning `true` to `tryThis`
if (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
^
tryThis === false
^
如果要将布尔值与false进行比较,请不要这样做:
var tryThis = false
try {
if (tryThis === true) {
^
var tryThis = false
try {
if (tryThis) { // this is the same as tryThis === true or tryThis !== false
^
tryThis === false
^
相反,请使用否定运算符,因此请执行以下操作:
var tryThis = false
try {
if (tryThis === true) {
^
var tryThis = false
try {
if (tryThis) { // this is the same as tryThis === true or tryThis !== false
^
tryThis === false
^
这只是为了帮助您理解如何比较布尔值
当需要在布尔值之间进行比较时,不需要这样做:tryThis===true
,因为这是不必要的。
// this is actually assigning `true` to `tryThis`
if (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
^
tryThis === false
^
如果要将布尔值与false进行比较,请不要这样做:
var tryThis = false
try {
if (tryThis === true) {
^
var tryThis = false
try {
if (tryThis) { // this is the same as tryThis === true or tryThis !== false
^
tryThis === false
^
相反,请使用否定运算符,因此请执行以下操作:
var tryThis = false
try {
if (tryThis === true) {
^
var tryThis = false
try {
if (tryThis) { // this is the same as tryThis === true or tryThis !== false
^
tryThis === false
^
将变量的值设置为true始终为true。(
tryThis=true
)而不是(tryThis===true
),或者可以说是(true==tryThis)
,甚至只是(tryThis)
。投票结束话题:我不明白你的问题。您的try-catch语法正常。您永远无法打印“错误是”,因为您的代码中没有抛出错误。@Tibrogargan实际上,赋值返回的是未定义的
,这是错误的,而不是真的
@MattMorgan Uh。。。在控制台中对此进行评估:if(foo=true){console.log(“true”)}
My bad。如果只执行赋值,则返回未定义的
。将变量的值设置为true始终为true。(tryThis=true
)而不是(tryThis===true
),或者可以说是(true==tryThis)
,甚至只是(tryThis)
。投票结束话题:我不明白你的问题。您的try-catch语法正常。您永远无法打印“错误是”,因为您的代码中没有抛出错误。@Tibrogargan实际上,赋值返回的是未定义的
,这是错误的,而不是真的
@MattMorgan Uh。。。在控制台中对此进行评估:if(foo=true){console.log(“true”)}
My bad。如果只执行赋值,则返回未定义的
。