undefined的英文意思就是【未定义】,不存在的变量也就是未定义的变量。
a.phone == undefined 这行代码是否为 true 得看什么情况。
如过 a 没有声明赋值(也就是未定义), 那么这行代码会直接报错(Cannot read property 'phone' of undefined)。
如果 a 声明赋值了,同时 a.phone 也声明赋值了,那么这行代码为 false。
如果 a 声明赋值了,但是 a.phone 没有声明赋值,那么这行代码为 true。
用 typeof 就行比如,你要判断变量abc是不是存在,那么就用
if(typeof abc === 'undefined'){
console.log("不存在");//打印 不存在
}
当然如果你声明了变量没有赋值,也能进if,比如:
var bcd
if(typeof bcd=== 'undefined'){
console.log("bcd不存在")//打印 bcd不存在
}
直接用判断 window.对象 是否是空的就行比如判断是否加载了jquery
if(window.jQuery){
//存在
}else{
//不存在
}