属性访问在哪些特定情况下会在JavaScript中引发错误?
在Node.js中,这会打印firebase.child(subject).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
Map<String,String> td = (HashMap<String,String>) snapshot.getValue();
users = (List)td.keySet();
}
@Override
public void onCancelled(DatabaseError firebaseError) {
Toast.makeText(context,"Internet connection failed",Toast.LENGTH_LONG).show();
}
});
:
undefined
这会引发错误:
x = 3
console.log( x.thing );
这里的语义到底是什么?属性访问是几乎所有值的正常行为 - 甚至函数 - 但在x = null;
console.log( x.thing );
和undefined
它会抛出错误。
我不能为我的生活找到确认那些是唯一的案例。任何人都可以证实吗?
答案 0 :(得分:1)
undefined
和null
不是对象的引用,也不是可以在对象包装器中隐式装箱的原始值。因此,任何引用属性的尝试都将失败。
当您使用数字(3
)时,运行时会将其作为数字实例,但当然没有&#34;事物&#34;属性,因此值为undefined
。
此外,函数是一流的对象,因此对函数属性的引用实际上并不是很奇怪的&#34;无论如何。