美文网首页
关于 this 题目

关于 this 题目

作者: 猫晓封浪 | 来源:发表于2018-12-09 21:59 被阅读0次

参考文章

  1. fn() 里面的 this 就是 window
  2. fn() 在严格模式下(strict mode), this 是 undefined
  3. a.b.c.fn() 里面的 this 就是 a.b.c (类似 call() 的第一个参数就是 this )
  4. new Fn() 里面的 this 就是新生成的实例
  5. ()=>{} 箭头函数没有 this ,所以里面的 this 根据外边的来

第一题:

window.n = 'window name'
let obj = {
    n: 'obj name',
    sayN(){
        console.log(this.n)
    }
}

let fn = obj.sayN
fn()

这一题输出的是 window namefn 函数在调用时什么都没有传入,此时 this 就是全局的 this

第二题

window.n = 'window name'
let obj = {
    n: 'obj name',
    sayN: () => {
        console.log(this.n)
    }
}

obj.sayN()

这一题考查的是箭头函数的 this 指向问题。箭头函数没有 this ,所以 this 指向根据外边确定。本题中: 外部的 this 指向全局。答案:window name

第三题

class A{
    constructor(){
        this.name = 'A'
    }
    sayName(){
        console.log(this.name)
    }
}
class B extends A{
    constructor(){
        super()
        this.name = 'B'
    }
}

let obj = new B()
console.log(obj.sayName())

本题考查 ES6 中 extend 关键字,继承中的 this 指向问题。此时 B 继承 A 所以 B 有 sayName 方法。答案:B
注意,super 虽然代表了父类 A 的构造函数,但是返回的是子类 B 的实例,即 super 内部的 this 指的是 B,因此 super() 在这里相当于A.prototype.constructor.call(this)

第四题

window.name = 'window name'
let app = new Vue({
    name: 'name 1',
    el: '#app',
    data(){
      return {name:'name 2'}
    },
    created(){
        console.log(this.name)
    }
})

此时, appthis 指向是当前 Vue 实例,并且 name 属性只是一个属性,此时 this.name 指的是当前 data 属性内的 name。答案:name 2

相关文章

  • 关于题目

    1. 关于上门取件过程 需求的随机出现和取消,是否对收件路径产生影响 上门取件的时间矛盾(客户时间点的协商) 上门...

  • 关于 this 题目

    参考文章 fn() 里面的 this 就是 window fn() 在严格模式下(strict mode), th...

  • 关于this的题目

    关于this的题目 输出:3undefined 解答:理解角度一:obj1.b这个函数里的this是调用者obj1...

  • 关于题目难度

    自己做题,题目容易时候进度比较快,题目难的时候,就像在茫茫大海中,一点方向也没有,这时候就容易犯困,学生...

  • 题目:关于Markdown基本运用

    一级标题(标题:#(空格)+文字,其他各级标题依次增加#数目) 罗列(第一种罗列文字的方法:-(空格)+文字) 罗...

  • leetcode关于数组的题目

    leetcode66 Plus OneGiven a non-negative integer represen...

  • 题题目关于朴素7848487994864848488878787

    古,固体VIP途锐名工会听哦

  • 关于兰溪工业这个题目

    我1963年参加工作,先当车工学徒,后来担任过机械厂厂长、机床厂党委副书记、造纸厂厂长、兰溪市计经委的经济运行科科...

  • 关于vue常见的题目

    1. 简述vue响应式原理 2. 计算属性的原理 3. Vue.nextTick 原理 用法: 理解:nextTi...

  • 关于webpack常见的题目

    1. webpack中的Module指的是什么? webpack支持ESModule, CommonJS, AMD...

网友评论

      本文标题:关于 this 题目

      本文链接:https://www.haomeiwen.com/subject/ljakhqtx.html