每日总结

6/20

每日单词

tool:工具 paragraph:段落
execute:执行 save:保存
browser:浏览器 protocol:协议
webpage:网页 website:网站
homepage:主页 online:分数
search:搜索 telnet:远程登录
able:能 reserved:保留
rights权限 information:信息

js中的this


全局this

浏览器宿主的全局环境中,this指的是window对象。
<script type="text/javascript"> console.log(this === window); //true </script>

浏览器中在全局环境下,使用var声明变量其实就是赋值给this或window。
<script type="text/javascript"> var foo = "bar"; console.log(this.foo); //logs "bar" console.log(window.foo); //logs "bar" </script>

任何情况下,创建变量时没有使用var或者let,也是在操作全局this。
<script type="text/javascript"> foo = "bar"; function testThis() { foo = "foo"; } console.log(this.foo); //logs "bar" testThis(); console.log(this.foo); //logs "foo" </script>


DOM 事件回调中的this

在DOM事件的处理函数中,this指代的是被绑定该事件的DOM元素。
function Listener() { document.getElementById("foo").addEventListener("click", this.handleClick); } Listener.prototype.handleClick = function (event) { console.log(this); //logs "<div id="foo"></div>" } var listener = new Listener(); document.getElementById("foo").click();


HTML标签的属性中是可能写JS的,这种情况下this指代该HTML元素。

<div id="foo" onclick="console.log(this);"></div> <script type="text/javascript"> document.getElementById("foo").click(); //logs <div id="foo"... </script>

推荐阅读更多精彩内容

  • Javascript 中的 this,有时候让人迷惑,所以总结了一下关于this指向的问题。 在函数中 this ...
    lxt410725阅读 224评论 0 1
  • 与其他语言相比,函数的this关键字在JavaScript中的表现略有不同,此外,在严格模式和非严格模式之间也会有...
    codingC阅读 285评论 0 0
  • 事件绑定的方式 给 DOM 元素绑定事件分为两大类:在 html 中直接绑定 和 在 JavaScript 中绑定...
    Bruce_zhuan阅读 635评论 0 6
  • 转载请著名出处 GitHub-TYRMars 文章Github地址 JavaScript基础知识剖析 01 01-...
    TYRMars阅读 275评论 0 7
  • 每日单词 ES6模版字符串 语法:模板字符串(Template String)是增强版的字符串,用反引号(`)标识...
    俊_杰阅读 78评论 0 0
  • 从读高中开始就离家,学校和家距离并不是很远,坐车也就半个小时,那时候至少每周周末能回家一趟,妈妈总是会准备一桌子我...
    依素言阅读 1,082评论 0 3
  • 这些年我们不再联系,也许我们已经忘记彼此。 当我听起这首歌就会想起咱们俩相识相知相恋美好的时光,毕业后第一份工作中...
    拾玖之声阅读 65评论 0 1
  • 平均,从小我们就熟悉,什么平均分啦,平均数啦,今日看了这样的研究结果,即很多所谓的平均值是没有意义的。 从人的生理...
    三水原童阅读 128评论 0 2