猿问

请教一下大家,下面的代码里x.x为什么是undefined,谢谢大家。

function a(parm) {


this.x = parm;

return this; 

}

var x = a(5);

var y = a(6);

console.log(x.x);//输出结果是undefined

console.log(y.x);//输出结果是6


请问为什么会出现这种结果呢


GCT1015
浏览 722回答 2
2回答

侃侃尔雅

因为你调用函数a之后,你在函数内部定义的this.x就升级了,x变成了全局变量,而你输出x的时候它首先会去找全局变量,所以~~~你换成输出x就会发现——console.log(x) //6,全局变量x自然是没有x属性的啦
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答