
js中this的用法
如上所述,this的值根据函数的调用方式而变化,但始终表示调用函数的对象。那么,如何确定函数对应的对象呢?以下是一些常见的规则:
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它不是新的编程语言,而是一种使用现有标准的新方法,最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容,不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。《php中级教程之ajax技术》带你快速
- 方法调用:当函数作为对象方法调用时,this表示该对象。例如:
const obj = {
name: "john",
greet() {
console.log(`hello, ${this.name}!`);
}
};
obj.greet(); // 输出 "hello, john!"- 普通函数调用:当函数作为普通函数调用时,this指向全局对象(浏览器中为"window",node.js中为"global")。例如:
function greet() {
console.log(`hello, ${this.name}!`);
}
greet(); // 输出报错:this.name is undefined- 构造函数调用:当函数作为构造函数调用时,this指向新创建的对象。例如:
function person(name) {
this.name = name;
}
const person = new person("jane");
console.log(person.name); // 输出 "jane"- 间接调用:当函数通过代理对象(如"call"、"apply"或"bind"方法)调用时,this可以手动设置。例如:
const person = {
name: "John"
};
function greet() {
console.log(`Hello, ${this.name}!`);
}
greet.call(person); // 输出 "Hello, John!"理解this的用法至关重要,因为它决定了函数内部对对象属性和方法的访问方式。









