`

this作为方法参数时指向的值

 
阅读更多
var test = {
			foo:function(){
				(function(root){
					console.log(root);
				}(this))
				console.log(this);
			}
		}
		test.foo();
//结果是:Object {foo: function}

 一开始有点蒙逼,想了一会其实一句话就能说清楚,这时候this就是调用这个方法的执行上下文中的this(注意不是这个方法的上下文),

 

例如上面调用匿名方法的是foo方法的执行上下文,由于我们是用test.foo()的方法调用它,它的上下文中this就是test对象,参数的值还是由这个执行上下文传给匿名方法的

分享到:
评论

相关推荐

    Java语言中this的应用方法研究.pdf

    在例2中,this作为方法的参数传递,用于指向当前对象。 3.this在匿名类和内部类中的使用 this关键字也可以在匿名类和内部类中使用,用于指向当前对象。例如,在匿名类中,可以使用this关键字来指向当前对象。 4....

    JavaScript中this指向.pdf

    当函数作为某个对象的方法被调用时,this指向这个方法所属的对象。这是因为在JavaScript中,对象的方法本质上是作为对象属性的函数。例如,有一个对象person,它有一个方法sayHello,那么当调用person.sayHello()时...

    js this指向笔记.docx

    - 当函数被一个对象作为方法调用时,`this` 将绑定到那个对象。例如:`obj.fn()`,此时 `this` 指向 `obj`。 3. **显式绑定**: - 通过 `call`, `apply`, 或 `bind` 方法可以显式地改变 `this` 的指向。例如:`fn...

    一步一步学JAVA(第四课 方法、值传递、this关键字).docx

    * 当将基本类型的变量作为参数传递给方法时,实际上是将变量的值复制了一份传递给方法。 * 在方法内部对参数的修改不会影响原始变量的值。 引用类型的值传递: * 当将引用类型的变量作为参数传递给方法时,实际上...

    JavaScript中this指向.docx

    - **作为对象方法调用**: 当函数作为对象的方法被调用时,`this`指向该对象。 - **构造函数调用**: 当函数被用作构造函数时(使用`new`关键字),`this`指向新创建的对象实例。 **3. `this`的特殊绑定** - **使用`...

    JavaScriptJavaScript函数this指向问题详解.docx

    3. **对象方法**:当函数作为对象的一个方法调用时,`this`指向调用该方法的对象。例如: ```javascript var o = { name: 'xl', print: function() { console.log('this:', this); } }; o.print(); // 'this...

    JavaScript程序设计-javascript中this的指向问题.pdf

    当一个函数作为对象的方法被调用时,`this`将指向调用该方法的对象。例如,`obj.fn()`中的`this`将指向`obj`。 三、构造函数调用 在使用`new`关键字创建实例时,构造函数内的`this`将指向新创建的对象。例如: ```...

    【JavaScript源代码】JavaScript函数this指向问题详解.docx

    3. **对象方法**:作为对象属性的函数(方法)调用时,`this`指向调用该方法的对象。例如: ```javascript var o = { print: function() { console.log('this:', this); } }; o.print(); // 输出:this: { print:...

    js中常见this指向问题.md

    `call()`方法可以用来调用一个函数,并允许我们在调用时指定`this`的值以及任何必要的参数。 示例代码: ```javascript function A(name, age) { this.name = name; this.age = age; this.say = function() { ...

    javascript中this指向详解

    JavaScript中的this关键字是一个非常重要的概念,它在函数中被用来引用对象自身,但在不同的执行上下文中,它的值可能会有所不同。...使用apply或call方法时,可以通过参数指定函数执行时的this指向。

    【JavaScript源代码】Javascript中函数分类&this指向的实例详解.docx

    当函数作为对象的方法调用时,`this`指向该对象。 3. **作为构造函数调用时**: ```javascript function Star(username) { this.username = username; } var star1 = new Star('ldh'); ``` 当使用`new`...

    第 37 题:谈谈你对 this 指向的了解?.doc

    当函数作为对象的一个方法被调用时,`this` 指向调用该方法的对象。例如: ```javascript var obj = { name: "xiaoming", say: function() { console.log(this.name); } }; obj.say(); // 输出 "xiaoming" ``` ...

    js绑定事件this指向发生改变的问题解决方法

    具体来说,`Function.prototype.bind`方法会创建一个新的函数,该函数在被调用时,其`this`值被设置为`bind`方法的第一个参数所给出的值,后续参数则被作为新函数调用时的参数传递。以下是一个`bind`方法的实现示例...

    关于js里的this关键字的理解

    由于JavaScript的函数是一等公民,可以作为变量传递、作为对象的属性,也可以被其它函数作为参数传递,因此`this`的指向是动态变化的,这也是它与许多其他面向对象编程语言中的`this`用法最显著的区别。 首先,`...

    JS中改变this指向的方法(call和apply、bind)

    `bind`方法返回一个新的函数,该函数在调用时`this`值会被固定为`bind`方法的第一个参数。这使得在异步操作或事件处理等场景中,可以确保`this`的值不会丢失: ```javascript window.color = 'red'; var o = { ...

    基于javaScript的this指向总结

    当函数作为对象的一个方法被调用时,`this`将指向调用该方法的对象。例如,`user.selfIntroduction()`中的`this`指向`user`对象,因此可以访问`userName`和`age`属性。然而,当内部函数如`loop`被调用时,由于设计...

    【JavaScript源代码】JavaScript中的this指向问题详解.docx

    `apply()`接收一个数组作为参数,而`call()`接受逗号分隔的参数。它们都会立即执行函数。例如: ```javascript function sum(a, b) { return a + b; } let obj = { value1: 1, value2: 2 }; sum.call(obj, 3, ...

    函数四种调用模式以及其中的this指向

    当函数作为对象的一个方法被调用时,`this`指向调用该方法的对象。这被称为方法调用。例如: ```javascript var obj = { name: 'aaa', age: 20, said: function() { console.log(this); // this === obj } ...

    如何修改javascript中的this指向

    可以传入额外的参数,这些参数将在新函数被调用时作为参数传递。 ```javascript function fn(a, b) { console.log(this); console.log(a); //world console.log(b); //123 return "back"; } var res = fn....

Global site tag (gtag.js) - Google Analytics