加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

js中常见的this面试题介绍,你可以做对几道呢?

发布时间:2022-04-20 09:15:18 所属栏目:语言 来源:互联网
导读:在JavaScript中也有this关键字,器作用是函数调用上下文,而this的行为是比较复杂,在JavaScript面试上常会遇到,也是很多朋友很难理解的一个知识点,这篇文章就给大家分享一些关于JS中this关键词的面试题,对大家学习和理解this有一定的参考价值。 注意:下
       在JavaScript中也有this关键字,器作用是函数调用上下文,而this的行为是比较复杂,在JavaScript面试上常会遇到,也是很多朋友很难理解的一个知识点,这篇文章就给大家分享一些关于JS中this关键词的面试题,对大家学习和理解this有一定的参考价值。
      注意:下面的 JavaScript 代码以非严格模式运行。
 
1:变量与属性
      以下代码输出什么:
 
const object = {
 message: 'Hello, World!',
 
console.log(object.getMessage()); // => ?
 
      答案:
 
输出:'Hello, World!'
 
      object.getMessage() 是方法调用,这就是为什么方法中的 this 等于 object 的原因。方法中还有一个变量声明 const message ='Hello,Earth!',该变量不会影响 this.message 的值。
 
2:猫的名字
      以下代码输出什么:
 
function Pet(name) {
 this.name = name;
 
      答案:
 
输出:'Fluffy' 和  'Fluffy'
 
      当一个函数被当作构造函数调用时( new Pet('Fluffy') ),构造函数内部的 this 等于构造的对象。Pet 构造函数中的 this.name = name  表达式在构造的对象上创建 name 属性。
 
      this.getName = () => this.name this.getName =()=> this.name  在构造的对象上创建方法 getName。因为使用了箭头函数,所以箭头函数中的 this 等于外部作用域中的 this ,也就是构造函数 Pet。
 
      调用 cat.getName() 和 getName() 会返回表达式 this.name,其结果为 'Fluffy'。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读