var x = 1;
var obj = {
valueOf: function() {
x = 2;
return 0;
}
};
console.log(x); //1
console.log(obj.valueOf()); //0
console.log(obj); //Object
console.log(obj == 0,x); // true 2
1问:为什么都是输出x,两者值不同?
2问:obj出来的是个Object,为什么和0比较会true?
3问:接上问,出现true,是因为==的类型转换吗?那我把obj里的valueOf改成其它对象名,为什么就变成false了(如下)?
var x = 1;
var obj = {
asd: function() {
x = 2;
return 0;
}
};
console.log(x); //1
console.log(obj.asd()); //0
console.log(obj); //Object
console.log(obj == 0,x); // false 2
暮色呼如
随时随地看视频慕课网APP
相关分类