我们在声明函数的时候通常是

var foo function(a){

console.log(a)

};

用ES6 我们写成了这样

var foo = a =>{

  console.log(a);

};

foo(2);

只是少些了function字段哪些冗余的东西吗

首先看下下面的代码:

var obj={

  id:"LOVE"

  love:functionLove(){

  console.log(this.id);

  }

};

var id = "HIT"

obj.love(); //LOVE

setTimeout(obj.love,100); // LOVE

都是LOVE ,没什么毛病吧,本应该是setTimeout(obj.love,100);输入HIT

按照分析,love 函数丢失了同this 之间的绑定,应该是HIT this 应该是window 最常用的是var self = this;来处理下this:

var obj = {
id: "not LOVE",
love: function() {
var self = this
console.log(this.id);
}};
var id = "not HIT"
obj.love()
setTimeout(obj.love(), 1000); 哦 传说中的胖尖头this绑定时的行为和普通函数的行为完全不一致,难道是在es5 中解决了?没有 ,在严格模式下,这些都不是问题,但是在非严格模式下是会输出Hit的

最新文章

  1. Atitit.软件开发的几大规则,法则,与原则Principle v3
  2. SQL SERVER中关于OR会导致索引扫描或全表扫描的浅析
  3. Centos7设置IP为固定值
  4. sip协议注册时response值的计算方法
  5. Nginx的启动、停止与重启
  6. CentOS6.5安装openLdap
  7. SNF开发平台WinForm之十三-单独从服务器上获取PDF文件进行显示-SNF快速开发平台3.3-Spring.Net.Framework
  8. Android线程池(一)
  9. 关于<a href='javascript:function()'>
  10. ERP系统上传文档信息下载(十八)
  11. Android SDK Manager Google Apis 下载
  12. C#编写的windows程序随系统启动
  13. [Javascript] The Array map method
  14. Gradle 用法总结
  15. EntityFramework Core 2.0 Explicitly Compiled Query(显式编译查询)
  16. [转]What is a WebRTC Gateway anyway? (Lorenzo Miniero)
  17. Docker 镜像
  18. ruby----controller中简单的增删改 方法定义
  19. Python基础-socketserver
  20. 使用jqprint插件完成页面打印

热门文章

  1. Python--进阶处理3
  2. HDU4686—Arc of Dream
  3. HDU3231 Box Relations——三维拓扑排序
  4. HBase-MR
  5. 004-Shell 基本运算符、算术运算符、关系运算符、布尔运算符、辑运算符、字符串运算符、文件测试运算符
  6. java 多线程 day16 CountDownLatch 倒计时计数器
  7. C的指针疑惑:C和指针13(高级指针话题)
  8. Spring第九弹—使用CGLIIB实现AOP功能与AOP概念解释
  9. 生信-序列比较dp[未完成]
  10. xlrd xlwt操作