整理下之前做的有点疑惑的js基础题目和大家分享以下,如果大家觉得有用,别忘了点一下赞哦
很绕的一个题
涉及this,包装类
function a(xx){
this.x = xx
return this
}
var x = a(5) //flag1
var y = a(6) //flag2
console.log(x.x)//undefined
console.log(y.x)//6
这题应该是我以往以来最绕的题,仅仅是绕
这题的主要问题是我标记的
flag1处和flag2处的到底发生了什么?
我们来细看下这里的 window.x 的变化 就是 x 的变化
function a(xx){
this.x = xx
return this
}
var x = a(5)//这一步相当于 window.x = window
console.log(x)//window
var y = a(6)
console.log(x)//window
console.log(x.x)//window ==> toString window["[object Object]"]
console.log(y.x)//window.x