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指向新创建...
this是javascript的一个关键字,随着函数使用场合不同,this的值会发生变化。但是总有一个原则,那就是this指的是调用函数的那个对象。 1.全局代码中的this alert(this);//window this指向全局对象。 2.作为单纯的函数调用 function fooCoder(x) { this.x = x; } fooCoder(2); alert(x);// 全局变量x值为...
判别js中this关键字的几个技巧 第一:给当前元素的某个事件绑定方法,当事件触发方法执行的时候,方法中的this是当前操作元素对象 oBox.onclick=fucntion(){// => this 指的是oBox} 第二:普通函数执行,函数中的this取决于执行的主体,谁执行的,this就是谁(执行主体:非严格模式下,方法执行,看方法名前面是否有点,...
Js中this关键字的指向 1.前言 在主流的面向对象的语言中(例如Java,C#等),this 含义是明确且具体的,即指向当前对象,一般在编译期绑定。而 JavaScript 中this 在运行期进行绑定的,这是JavaScript 中this 关键字具备多重含义的本质原因。 JavaScript 中的 this 可以是全局对象、当前对象或者任意对象,这完全取决于函数...
this是Javascript语言的一个关键字它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用,下面分四种情况 情况一:单纯的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。 function test(){ this.x = 1; alert(this.x); ...
1 在编程语言里,同样也有“我”的概念,那就是this关键字。每一个定义的方法里,都会有一个this关键字,这个this关键不是由在那儿定义的来决定的,而是由谁来执行的决定的。这是判断this关键表示什么的重要原则。比如:张三.吃饭();//这个吃饭里的this就是张三这个对象也就是判断点(.)前面的对象是谁,那...
通过apply 或 call 或 bind 来改变 this 的所指。 函数调用模式中,this为window;方法调用模式中,this为方法所属的对象;构造器调用模式中,this为创建的新对象。 js中的this 我们要记住:this永远指向函数运行时所在的对象!而不是函数被创建时所在的对象。
如果doSomething() 运行时没有任何与之预留相关的话,关键字 this 指向 window(窗口) ,该函数将会改动 window 的 style.color。而 window 没有 style 这样的对象,所以该函数会引发 JavaScript 的错误。 拷贝(copying) 因此,用好 this 有些难度。像在函数中使用的上面例子的这种情况,它应该指向 HTML 元素“自己...
这对应《You Don't Know JS》中 new绑定。 functionF(name){this.name=name}constf=newF("wuuconix")console.log(f.name)// => "wuuconix" 在这里,定义了一个构造函数F,然后利用new关键字调用了这个构造函数F,生成了一个对象f。 我们知道,构造函数中的this实际上就是f,即新生成的对象。