es6与es5 中this的区别
来源:互联网 发布:最后一个勇敢的人知乎 编辑:程序博客网 时间:2024/06/04 18:38
廖雪峰:
实验:
<html><head></head><body>demo1:<script>var obj = {birth:1990,getAge : function(){var birth = 1880;var b = this.birth;var fn = function() { console.log(this); // window或undefined};return fn(); // 如果没有加return fn 将没调用}}obj.getAge();</script>demo2:<script>var birth =222;var obj = { birth: 1990, getAge: function () {var birth = 22; var b = this.birth; // 1990 var fn = () => new Date().getFullYear() - this.birth; // this指向obj对象console.log(this); // 指向objconsole.log(this.birth); // 1990console.log(birth); // 22 return fn(); }};obj.getAge(); es6 写法转换为es5var birth =222;var obj = { birth: 1990, getAge: function () {var birth = 22; var b = this.birth; // 1990var fn = function(){return new Date().getFullYear()} - this.birth;console.log(this);console.log(this.birth);console.log(birth); }};obj.getAge(); </script>注: this 是javascript的关键字之一,他代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。随着函数使用的场合不同,this的值会发生变化。但是有一个总的原则:this指的是,调用函数的那个对象如demo1中的fn, 以为没有对象调用它,所以它是默认值 window或undefineddemo2中 fn 在 getAge方法中,obj 调用了 getAge方法,所以this指 的是obj</body></html>
阅读全文
0 0
- es6与es5 中this的区别
- ES6中新增数组方法与ES5之间的区别
- ES5与ES6继承的区别
- React ES6与ES5写法的区别
- javascript开发:ES5与ES6的“this”深入分析
- ES5中的var与ES6中的let,const的区别
- 图解说明ES5和ES6中继承的区别
- React的ES5与ES6写法对比
- ES5与ES6的对比不同点
- ES6与ES5差别
- es6转为es5:Babel下的ES6兼容性与规范
- js中es5类的创建继承与es6中类的创建继承
- ES6 class与ES5 function区别及联系
- 关于ES5中的prototype与ES6中class继承的比较
- JavaScript、ES5和ES6的介绍和区别
- es6和es5中的this指向
- JavaScript ES6与ES5对比
- ES6与ES5对比-----'类'
- 移动web性能测试要点
- iPhone开发技巧之调试篇(3)— 程序Crash后的调试技巧
- Java集合框架详解(一)——初步认识集合框架
- 仿映客吐司形式
- 利用redis实现收藏或者点赞数量的累加
- es6与es5 中this的区别
- QT之QML类型篇
- WIN10 安装mongodb 3.4
- Android集成Mob3.0.0短信验证功能SMSSDK For Android
- Hibernate表与表之间的关联关系配置
- js转换金额,大小写,添加千位符
- 说说XcodeLLDB调试的那些事儿
- jzoj1276 护花
- Python3学习笔记11-正则表达式