如何通过运算符“&&”检查Javascript对象的生存性?
我的朋友告诉我,这段代码用于检查Javascript对象的生存: 示例:我有两个对象,每个对象有两个名为“a”和“b”的属性如何通过运算符“&&”检查Javascript对象的生存性?,javascript,Javascript,我的朋友告诉我,这段代码用于检查Javascript对象的生存: 示例:我有两个对象,每个对象有两个名为“a”和“b”的属性 var obj1 = {a:0,b:0} var obj2 = {a:3,b:4} 对于值为all属性为0且“obj2”的obj1,have child属性的值为整数,并且我将“obj1”设为检查表达式的第一个运算符,则我得到的结果失败 if((obj1.a && obj1.b)&& obj2){ document.write(&
var obj1 = {a:0,b:0}
var obj2 = {a:3,b:4}
对于值为all属性为0且“obj2”的obj1,have child属性的值为整数,并且我将“obj1”设为检查表达式的第一个运算符,则我得到的结果失败
if((obj1.a && obj1.b)&& obj2){
document.write("success")
}else{
document.write("failed")
}
否则,如果我将obj1设为第二个运算符,则得到的结果是成功,如下所示:
if((obj2.a && obj2.b)&& obj1){
document.write("success")
}else{
document.write("failed")
}
谁能给我解释一下原因吗
var obj1={a:0,b:0}
var obj2={a:3,b:4}
ifobj1.a&&obj1.b&&obj2{
document.writesuccess
}否则{
document.writefailed
}
document.write
ifobj2.a&&obj2.b&&obj1{
document.writesuccess
}否则{
document.writefailed
}
谁能给我解释一下原因吗
你在观察
本节中的if表达式:
var obj1 = { a: 0, b: 0 };
var obj2 = { a: 3, b: 4 };
if( ( obj1.a && obj1.b ) && obj2 ) {
是:
……这实际上是:
( 0 && 0 ) && aNonNullObject
==
( false && false ) && true
==
( false ) && true
==
false
另一个例子是:
if( ( obj2.a && obj2.b ) && obj1 ) {
…是:
( 3 && 4 ) && aNonNullObject
==
( true && true ) && true
==
( true ) && true
==
true
这是因为0、null、未定义和空字符串都是假字符串。
而非零数字、非空对象和非空字符串是真实的。
也
用于检查Javascript对象的生存状态
生存不是JavaScript中使用的一个术语,也不是一般编程中使用的一个术语,所以我敢打赌你的朋友不是JavaScript编程专家,我想你已经养成了使用document.write的习惯,所以我建议你不要对他们说的任何话都不加批判
对象生命周期和生命周期是编程中使用的术语,但它们与您所问的问题无关
谁能给我解释一下原因吗
你在观察
本节中的if表达式:
var obj1 = { a: 0, b: 0 };
var obj2 = { a: 3, b: 4 };
if( ( obj1.a && obj1.b ) && obj2 ) {
是:
……这实际上是:
( 0 && 0 ) && aNonNullObject
==
( false && false ) && true
==
( false ) && true
==
false
另一个例子是:
if( ( obj2.a && obj2.b ) && obj1 ) {
…是:
( 3 && 4 ) && aNonNullObject
==
( true && true ) && true
==
( true ) && true
==
true
这是因为0、null、未定义和空字符串都是假字符串。
而非零数字、非空对象和非空字符串是真实的。
也
用于检查Javascript对象的生存状态
生存不是JavaScript中使用的一个术语,也不是一般编程中使用的一个术语,所以我敢打赌你的朋友不是JavaScript编程专家,我想你已经养成了使用document.write的习惯,所以我建议你不要对他们说的任何话都不加批判
对象生存期和生存期是编程中使用的术语,但它们与您所问的问题无关。使用
var obj1={a:0,b:0};
var obj2={a:3,b:4};
如果obj1.hasOwnProperty'a'和&obj1.hasOwnProperty'b'和&obj2{
document.writesuccess;//成功
}否则{
文件。已编写;
}
使用
var obj1={a:0,b:0};
var obj2={a:3,b:4};
如果obj1.hasOwnProperty'a'和&obj1.hasOwnProperty'b'和&obj2{
document.writesuccess;//成功
}否则{
文件。已编写;
}
你说生存是什么意思?你说生存是什么意思?解释得很好。解释得很好。