事件中的this

监听函数内部的this指向触发事件的那个元素节点

  1. // HTML 代码如下
  2. // <button id="btn">点击</button>
  3. var btn = document.getElementById('btn');
  4. // 写法一
  5. btn.onclick = function () {
  6. console.log(this.id);
  7. };
  8. // 写法二
  9. btn.addEventListener('click',function (e) {
  10. console.log(this.id);
  11. },false);

对象中的this

永远指向调用者,而难得就是你是否可以找到调用者

  1. var username = "zz";
  2. var user = {
  3. username:"code",
  4. getName:function(){
  5. console.log(username) //zz 默认情况下指向windows.username
  6. console.log(this.username) //code
  7. }
  8. }
  9. user.getName() //两次打印分别是什么