美文网首页
箭头函数和普通函数中this的区别

箭头函数和普通函数中this的区别

作者: 飞牛在天 | 来源:发表于2019-08-17 20:27 被阅读0次

// 文件demo.js

this.name = 'lisi'
const say = () => {
console.log(this.name)
}

global.name = 'wangwu'
const say2 = function() {
console.log(this.name)
}

function Person(name, age) {
this.name = name
this.age = age
this.say = function() {
console.log(this.name)
say()
say2()
}
}

let p = new Person('zhangsan', 18)

let x = p.say
p.say()
console.log('-------')
x()

//以上代码,执行node demo.js
结果:

zhangsan
lisi
ligang


wangwu
lisi
wangwu

//箭头函数中,this指的是定义箭头函数时的this对象,而不是运行时的this对象
//普通函数中的this,调用次函数的owner对象(nodejs环境下是global,浏览器下是window),比如全局函数中this指的是全局global对象或window对象,通过对象调用普通函数,那么普通函数中的this指的是对象本身

相关文章

  • 箭头函数和普通函数的主要区别是什么?

    箭头函数和普通函数的主要区别: this的指向问题,箭头函数是不存在this的(也是箭头函数和普通函数最主要的区别...

  • 函数的扩展

    函数的扩展 箭头函数和普通函数区别箭头函数没有this对象,箭头函数的里的this始终指向定义时所在对象,普通函数...

  • 常见前端面试题

    箭头函数与普通函数的区别 箭头函数语法比普通函数更加简洁,但箭头函数中没有arguments,所以形参可以使用展开...

  • 箭头函数与普通函数的区别

    箭头函数与普通函数的区别,实质是我们是否理解了箭头函数,在我刚开始接触ES6时,印象中的箭头函数与普通函数的区别就...

  • 2019-01-11

    ES6 箭头函数 箭头函数表示法:()=>console.log('Hello') 箭头函数和普通函数的区别 和普...

  • js理解普通函数和箭头函数

    普通函数: 箭头函数: 区别: 构造函数和原型 箭头函数不能作为构造函数 不能new。会报错 箭头函数没有原型属性...

  • 箭头函数和立即执行函数

    箭头函数 箭头函数和普通函数有什么区别?如果把箭头函数转换为不用箭头函数的形式,如何转换主要是this的差别,箭头...

  • 简单说 JavaScript的箭头函数

    说明箭头函数本质还是函数,我们来看看他与JavaScript中普通函数的区别,先看看写法上的区别。 写箭头函数,我...

  • 箭头函数和普通函数有什么区别?

    题目:箭头函数和普通函数有什么区别?箭头函数为什么不能用作构造函数? 参考答案 区别: 箭头函数在一些情况下书写更...

  • 改变this指向的方法

    箭头函数和普通函数的区别如下。 普通函数:根据调用我的人(谁调用我,我的this就指向谁) 箭头函数:根据所在的环...

网友评论

      本文标题:箭头函数和普通函数中this的区别

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