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'。 (编辑:常州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |