美文网首页
this的笔记

this的笔记

作者: 101架钢琴 | 来源:发表于2017-04-10 23:42 被阅读0次
  1. 构造函数调用

new S() ==>this指向创建的对象本身 {a:'a'}

  1. 方法调用 method,property
var p = {
    s:function(){
        console.log(this)
    }
}

  p.s() ==> this指向调用方
  1. apply、call的调用
p.s.call({a:2},1,2,3)
p.s.apply({a:2},[1,2,3])
  1. 函数调用
var cache = p.s;
cache()==> this指向全局对象
p.s() ==> this指向P

笔记:

一般情况:看知乎 https://zhuanlan.zhihu.com/p/23804247

JS里有三种函数调用形式:

 function(p1,p2);//可以转换成     function.call(undefined,p1,p2);   
 obj.child.method(p1,p2);//obj.child.method.call(obj.child,p1,p2);
 func.call(content,p1,p2);

this就是上面的content

Event Hanlder

https://zhuanlan.zhihu.com/p/25991271

$("ul li").on("click",fucnction xxx(){
   console.log(this);
})

1、看源码

当浏览器发现用户点击了li,xxx.call(li,event);

2、看MDN文档

通常来说this的值是触发事件的元素的引用,这种特性在多个相似的元素使用同一个通用事件监听器时非常让人满意。

当使用 addEventListener() 为一个元素注册事件的时候,句柄里的 this 值是该元素的引用。其与传递给句柄的 event 参数的 currentTarget 属性的值一样。

3、可以不用this

有些情况下,this=e.target

4、用bind强行指定this

    $("ul li").on("click",fucnction xxx(){
        console.log(this);
    }.bind({name:yyy;}))

this:{name:yyy}
拆代码:

function xxx(){
   console.log(this);
}
var foo=xxx.bind({name:yyy});
$("ul li").on("click",foo);

bind
如果调用xxx.call(({name:yyy});,xxx里的this=({name:yyy},而bind就是保证xxx.call(({name:yyy});一定被调用

function xxx(){
   console.log(this);
}
function foo(){
   xxx.call(({name:yyy});
}//与bind的效果相同
$("ul li").on("click",foo);

bind会返回一个新的函数,就是把原来的函数call一下,调用指定的this

  var foo=xxx.bind({name:yyy});

typeof foo==='function'
巩固


Paste_Image.png

不管指定xxx2为什么,this 的值是{name:"zzz"}
就算指定为window,但不会传入到xxx2里,

xxx.call();返回值类型不确定,取决于xxx,指定的同时马上被调用,得到一个返回值
xxx.bind();返回一个新的函数,明确的函数,函数并没有被调用,等着被调用

相关文章

  • 开发笔记目录查看

    笔记一: 笔记二: 笔记三: 笔记四: 笔记五: 笔记六:

  • 目录

    羊皮笔记01 羊皮笔记02 羊皮笔记03 羊皮笔记04 羊皮笔记05 羊皮笔记06 羊皮笔记07

  • 强大、好用的离线笔记软件综合评测:优点、缺点、对比

    强大、好用的离线笔记、云笔记软件综合评测 离线笔记 Or 云笔记?对于很多笔记用户而言,选择适合自己的笔记软件是一...

  • 如何构建自己的笔记系统?

    笔记的终极目标是为了应用,不用的笔记没有价值! 笔记工具:onenote 印象笔记 笔记主题化:讲笔记内容按照用...

  • 2019-06-25 关键词:聚焦

    最近发现,自己做的笔记,零散在各个软件,纸质笔记中。比如有道笔记、搜狗笔记、印象笔记、mac自带的笔记,还有公司...

  • 关于五款云笔记应用的对比

    这篇笔记主要是关于印象笔记、有道云笔记、为知笔记、麦库笔记和云笔记五款云笔记应用的对比,来简单写一下关于云笔记类产...

  • 80讲,笔记类工具推荐

    笔记类的工具推荐:印象笔记。 建议使用印象笔记的笔记功能,不建议使印象笔记的日程功能。

  • 临摹日更图(74):《子弹笔记术》

    《子弹笔记术》总结了对子弹笔记这个主题的认识,将打动人心的子弹笔记称为“超级笔记术子弹笔记”,在普通的子弹笔记基础...

  • 《大江大河》笔记若干(一)

    后续笔记若干…… 后续笔记若干…… 后续笔记若干…… 后续笔记若干…… 后续笔记若干……

  • 2022-11-17笔记转运术

    用笔记整理,记录自己的记忆。用笔记来规划自己的目标与未来。用笔记来记录、调整自己的习惯。用笔记来写心流笔记。用笔记...

网友评论

      本文标题:this的笔记

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