首页 > 试题广场 >

在JavaScript中下面选项关于this描述正确的是

[单选题]
在JavaScript中下面选项
关于this描述正确的是
  • 在使用new实例化对象时, this指向这个实例对象
  • 当对象调用函数或者方法时,this指向这个对象。
  • 在函数定义时,this指向全局变量
  • 在浏览器下的全局范围内,this指向全局对象
B:当对象调用方法时,this指向这个对象。
C: this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象
D: 使用apply或call调用 this 将会被显式设置为函数调用的第一个参数。 

发表于 2018-08-13 11:23:45 回复(0)
更多回答
B:若这个函数或方法是这个对象的属性时,则this指向这个对象。若这个函数或者方法不是这个对象的属性,使用o.函数名()调用会报错,找不到这个方法。
var o = {
x:30,
getX:function(){
return this.x;
}
};
console.log(o.getX());
注:还有一种情况,就是对象方法里面还有方法,对象调用里面的这个方法,指向的是window对象。

C:函数的this取值只有在函数被调用时才知道。
D:感觉像是对的,有知道的求告知。
编辑于 2018-09-13 10:16:51 回复(1)
怎么感觉BCD也对呢,请哪位大神讲解下~
发表于 2018-08-10 17:47:16 回复(3)
在使用new实例化对象时,this指向这个实例对象
发表于 2018-07-22 15:43:52 回复(0)
  1. 在全局作用域以及普通函数中,this指向全局对象window(注意:在定时器中 setTimeout setInterval 中同样指向window)
  2. 方法调用中this指向方法的对象,注册事件时this指向事件源
  3. 构造函数中this指向构造函数的实例
发表于 2019-09-20 09:44:38 回复(0)
A,正确:在使用new实例化对象时,this指向这个实例对象
B,对象调用函数或方法时,this不指向这个对象,例如:
window.onload = function() {
var aa = function() {
var name = 'bob';
function tt() {
console.log(this);
}
tt();
}
aa();
}
C,函数定义时,并不能确定this指向,只有在执行时才能确定
D,浏览器下的全局范围内,this不一定指向全局对象,范围太大了

编辑于 2019-08-02 19:33:26 回复(0)