猿问

js函数中this定义的变量可以直接用fn.a这种方式访问吗?

  var a = 2;    function exec() {      this.a = 1;
    }    console.log(exec.a);// 输出undefined

想知道这时候exec.a指的是什么呢,函数的本质不也是对象吗,这里为什么访问不到


HUX布斯
浏览 701回答 2
2回答

弑天下

函数确实是对象,但是你console.log(exec.a)是访问函数对象上的a属性,exec上并没有这个属性,函数里的this指向全局对象,在浏览器端,window.a或许会输出1。

HUH函数

原型连,从自身向上查找,所以a=2
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答