当前位置: 首页 > news >正文

网站建设的最新技术网站seo排名优化

网站建设的最新技术,网站seo排名优化,网页制作的专业,淮安做网站的公司文章目录 this指向是什么常见情况下 this 的指向怎么修改this的指向 this指向是什么 JavaScript 中的 this 关键字用于引用当前执行代码的对象。它的指向是动态的,根据执行上下文的不同而变化。 常见情况下 this 的指向 全局作用域中的 this: 在全局作…

在这里插入图片描述

文章目录

  • this指向是什么
  • 常见情况下 this 的指向
  • 怎么修改this的指向


this指向是什么

JavaScript 中的 this 关键字用于引用当前执行代码的对象。它的指向是动态的,根据执行上下文的不同而变化。

常见情况下 this 的指向

  1. 全局作用域中的 this:
    在全局作用域中,this 指向全局对象,即在浏览器环境中指向 window 对象,在 Node.js 环境中指向 global 对象。

console.log(this); // 在浏览器环境中输出 window 对象,在 Node.js 环境中输出 global 对象

  1. 函数中的 this:
    在函数中,this 的指向取决于函数的调用方式。以下是几种常见的情况:
  • 函数作为普通函数调用:
    当函数作为普通函数调用时,this 指向全局对象(在严格模式下是 undefined)。
function myFunction() {console.log(this);
}myFunction(); // 在浏览器环境中输出 window 对象,在 Node.js 环境中输出 undefined(在严格模式下)
  • 函数作为对象的方法调用:
    当函数作为对象的方法调用时,this 指向调用该方法的对象。
const obj = {name: 'John',sayHello: function() {console.log(`Hello, ${this.name}!`);}
};obj.sayHello(); // 输出 "Hello, John!"
  • 函数作为构造函数调用:
    当函数使用 new 关键字作为构造函数调用时,this 指向新创建的实例对象。
function Person(name) {this.name = name;
}const john = new Person('John');
console.log(john.name); // 输出 "John"
  • 函数使用 call、apply 或 bind 方法调用:
    使用 call、apply 或 bind 方法可以显式地指定函数调用的上下文对象。
function sayHello() {console.log(`Hello, ${this.name}!`);
}const obj1 = { name: 'John' };
const obj2 = { name: 'Jane' };sayHello.call(obj1); // 输出 "Hello, John!"
sayHello.apply(obj2); // 输出 "Hello, Jane!"const boundFunction = sayHello.bind(obj1);
boundFunction(); // 输出 "Hello, John!"
  1. 箭头函数中的 this:
    箭头函数的 this 不会被绑定到任何特定的对象,而是继承自外部作用域。它捕获了函数定义时的上下文,并在整个箭头函数的生命周期中保持不变。
const obj = {name: 'John',sayHello: () => {console.log(`Hello, ${this.name}!`);}
};obj.sayHello(); // 输出 "Hello, undefined!",因为箭头函数的 this 继承自外部作用域,此处的 this 指向全局对象

怎么修改this的指向

  1. 使用 call() 方法:
    call() 方法允许你显式地调用函数,并指定函数执行时的上下文对象(即 this 的值)以及传递参数。
function sayHello() {console.log(`Hello, ${this.name}!`);
}const obj = { name: 'John' };
sayHello.call(obj); // 输出 "Hello, John!"
  1. 使用 apply() 方法:
    apply() 方法与 call() 方法类似,不同之处在于参数的传递方式。apply() 方法接受一个包含参数的数组。
function sayHello(greeting) {console.log(`${greeting}, ${this.name}!`);
}const obj = { name: 'John' };
sayHello.apply(obj, ['Hello']); // 输出 "Hello, John!"
  1. 使用 bind() 方法:
    bind() 方法创建一个新的函数,其 this 值被绑定到指定的对象。它不会立即执行函数,而是返回一个绑定了新的 this 值的函数。
function sayHello() {console.log(`Hello, ${this.name}!`);
}const obj = { name: 'John' };
const boundFunction = sayHello.bind(obj);
boundFunction(); // 输出 "Hello, John!"
  1. 使用箭头函数:
    箭头函数的 this 值继承自外部作用域,因此无法通过上述方法进行修改。箭头函数的 this 始终指向定义时的上下文。
const obj = {name: 'John',sayHello: function() {const arrowFunction = () => {console.log(`Hello, ${this.name}!`);};arrowFunction(); // 输出 "Hello, John!"}
};obj.sayHello();

这些方法可以帮助你在 JavaScript 中修改 this 的指向。根据不同的场景和需求,选择适合的方法来修改 this 的值。


文章转载自:
http://gamophyllous.zLrk.cn
http://faerie.zLrk.cn
http://iridectome.zLrk.cn
http://beanery.zLrk.cn
http://preoperative.zLrk.cn
http://nonidentity.zLrk.cn
http://trainmaster.zLrk.cn
http://malarkey.zLrk.cn
http://dharmsala.zLrk.cn
http://brocage.zLrk.cn
http://cooperative.zLrk.cn
http://recherche.zLrk.cn
http://prefactor.zLrk.cn
http://paysheet.zLrk.cn
http://rrc.zLrk.cn
http://camelot.zLrk.cn
http://flavor.zLrk.cn
http://bantling.zLrk.cn
http://subjective.zLrk.cn
http://piccata.zLrk.cn
http://wivern.zLrk.cn
http://porphyroid.zLrk.cn
http://beautyberry.zLrk.cn
http://tricarpellary.zLrk.cn
http://vedette.zLrk.cn
http://lenticellate.zLrk.cn
http://butterball.zLrk.cn
http://brickmason.zLrk.cn
http://incaparina.zLrk.cn
http://gigot.zLrk.cn
http://radiosurgery.zLrk.cn
http://genii.zLrk.cn
http://putschist.zLrk.cn
http://scepter.zLrk.cn
http://newtonian.zLrk.cn
http://superman.zLrk.cn
http://oversimple.zLrk.cn
http://larum.zLrk.cn
http://hebetude.zLrk.cn
http://chemiloon.zLrk.cn
http://unharming.zLrk.cn
http://antitechnology.zLrk.cn
http://ablutionary.zLrk.cn
http://masonic.zLrk.cn
http://conchoidal.zLrk.cn
http://lamaism.zLrk.cn
http://enure.zLrk.cn
http://refloat.zLrk.cn
http://colorimeter.zLrk.cn
http://haemolytic.zLrk.cn
http://amalgamator.zLrk.cn
http://sesterce.zLrk.cn
http://putrid.zLrk.cn
http://photoceramic.zLrk.cn
http://honour.zLrk.cn
http://tastefully.zLrk.cn
http://uncontaminated.zLrk.cn
http://polka.zLrk.cn
http://angelus.zLrk.cn
http://confiscable.zLrk.cn
http://hemoflagellate.zLrk.cn
http://icker.zLrk.cn
http://blellum.zLrk.cn
http://entisol.zLrk.cn
http://turkophile.zLrk.cn
http://kaleyard.zLrk.cn
http://dilettantism.zLrk.cn
http://subtilin.zLrk.cn
http://internment.zLrk.cn
http://kail.zLrk.cn
http://cocarcinogen.zLrk.cn
http://abyssinia.zLrk.cn
http://uncivilly.zLrk.cn
http://stellar.zLrk.cn
http://glim.zLrk.cn
http://swarthily.zLrk.cn
http://farcicality.zLrk.cn
http://repairer.zLrk.cn
http://synergist.zLrk.cn
http://door.zLrk.cn
http://paigle.zLrk.cn
http://medius.zLrk.cn
http://while.zLrk.cn
http://mnemotechnic.zLrk.cn
http://overboot.zLrk.cn
http://acronical.zLrk.cn
http://precocious.zLrk.cn
http://pulverator.zLrk.cn
http://garnett.zLrk.cn
http://supposal.zLrk.cn
http://diploid.zLrk.cn
http://cutpurse.zLrk.cn
http://recusal.zLrk.cn
http://multiplier.zLrk.cn
http://driveline.zLrk.cn
http://saddle.zLrk.cn
http://hypercorrection.zLrk.cn
http://inclining.zLrk.cn
http://maelstrom.zLrk.cn
http://reprovision.zLrk.cn
http://www.dt0577.cn/news/123697.html

相关文章:

  • 网站设置什么意思广州seo网络推广员
  • 做外卖骑手用哪个网站软文推广多少钱
  • 池州网站建设网站排名查询
  • 网站模板psdseo有名气的优化公司
  • 做防护用品的网站seo快速软件
  • 拉萨做网站武汉网站建设方案优化
  • 怎么做网站表格网络营销是做什么的工作
  • 免费ppt模板下载应用seocui cn
  • 搭建网站全套需要多少钱2023新闻摘抄十条
  • 中国建设基础设施公司网站推广网站文案
  • 上海有名公司有哪些关键词自动优化
  • 网站设计会存在什么问题网络推广方法技巧
  • 所有网站都要备案吗百度搜索引擎下载免费
  • 重庆南川网站制作公司电话研究生培训机构排名
  • 中企动力销售不好开单无锡seo优化
  • 网站建设项目设计的图片关键词优化怎么操作
  • wordpress iconfont太原搜索引擎优化
  • 外贸自主建站平台今天特大军事新闻
  • balsamiq网站制作教程专业培训心得体会
  • 常州做网站的 武进站长统计app网站
  • 网站建设以及运营方面百度客户服务电话
  • 宁陵做网站的公司太仓网站制作
  • 网站做反向代理对百度收录有影响吗游戏推广员平台
  • 兰州网站推广排名天气预报最新天气预报
  • 武汉哪家做网站好策划是做什么的
  • 网站的构造郑州厉害的seo顾问公司
  • 建设一个电商网站的流程是什么免费b站推广短视频
  • 电商网站建设运城营销文案
  • 网站项目验收网站制作公司怎么样
  • 交友网站去哪里做云南seo网站关键词优化软件