console.log(a.num);//1 下方例子函数体内部使用了this关键字。很多教科书会告诉你,this指的是函数运行时所在的环境。对于obj.foo()来说,foo运行在obj环境,所以this指向obj;对于foo()来说,foo运行在全局环境,所以this指向全局环境 varobj ={ foo:function() { console.log(this.bar) }, bar:1};varfoo ...
constobj={name:"Outer",getName:function(){constinnerFunction=()=>{console.log(this);// 继承外层 getName 的 this,即 obj};innerFunction();}};obj.getName();// 输出 { name: "Outer", getName: [Function: getName] } 3.构造函数调用中的this 当使用new关键字调用构造函数时,this指向新创建...
value :0, Tempfunc:function(){varinnerFunc =function(){//这里的函数不是特定对象的直接成员,只是另一个函数的变量而已alert(this);//全局作用域};returnfunction(){//注意:这个匿名函数不是对象的直接成员alert(this.value); } } }; myObject.Tempfunc()(); //undefined 这就是刚才所说的如果包含this...
在我写的一篇关于 构造函数与new关键字 的关系的博文中谈及,new关键字总是会返回一个对象。这个对象可以是new调用构造函数时返回的空对象,也可以是在构造函数中使用return语句返回的复杂数据类型(包括对象,数组等)。 同样,与new关键字相同,this关键字总是返回一个对象。再说的详细一些,就是属性或方...
1、是js语言的一个关键字 2、函数运行时,自动生成的一个内部对象,只能在函数内部使用,如 functiontest(){this.x=1;} 随着函数使用的场合不同,this的值会变化。但有个原则,this代表调用函数的那个对象; this用法 情况一:纯函数调用 函数属于全局调用,this代表Global ,在浏览器下就是window对象; ...
本文主要解释在JS里面this关键字的指向问题(在浏览器环境下)。 首先,必须搞清楚在JS里面,函数的几种调用方式: 普通函数调用 作为方法来调用 作为构造函数来调用 使用apply/call方法来调用 Function.prototype.bind方法 es6箭头函数 但是不管函数是按哪种方法来调用的,请记住一点:谁调用这个函数或方法,this关键字就指向...
1 在编程语言里,同样也有“我”的概念,那就是this关键字。每一个定义的方法里,都会有一个this关键字,这个this关键不是由在那儿定义的来决定的,而是由谁来执行的决定的。这是判断this关键表示什么的重要原则。比如:张三.吃饭();//这个吃饭里的this就是张三这个对象也就是判断点(.)前面的对象是谁,那...
this是Javascript语言的一个关键字它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用,下面分四种情况 情况一:单纯的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。 function test(){ this.x = 1; alert(this.x); ...
js中的this关键字指的是什么? this:当前方法执行的主体(谁执行的这个方法,那么this就是谁,所以this和当前方法在哪创建的或者在哪执行都没有必然的关系) 判别js中this关键字的几个技巧 第一:给当前元素的某个事件绑定方法,当事件触发方法执行的时候,方法中的this是当前操作元素对象 ...
alert(this.name); }, waitShowName : function(){ setTimeout(this.showName, 1000); } }; nameObj.waitShowName(); 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 要解决这个问题我们需要了解Javascript的this关键字的用法。 this指向哪里?