文档章节

在html元素中定义事件时,注意作用域链的不同

L
 LorinLuo
发布于 2014/12/29 09:04
字数 193
阅读 17
收藏 1

在html元素中定义事件时

1、如果不是调用的函数,那么这里的作用域链是:

调用对象---->事件源---->父元素----->>document----->window

例如:

<input type="text" onclick="alert(age)" id="fp"/>

<script>

    var node = document.getElementById('fp')

    node.age = 12;

    age = 13

</script>

结果:12

2、如果是调用的函数,由于JS的词法作用域(函数在定义它的作用域中执行,而不是在调用它的作用域中执行),那么这里的作用域链是:调用对象----->>window

例如:

<input type="text" onclick="msg()" id="fp"/>

<script>

    var node = document.getElementById('fp')

    node.age = 12;

    age = 13

    function msg(){

        alert(age);

    }

</script>

结果:13

3、如果是在JS中定义事件,那作用域链也是调用对象----->>window

© 著作权归作者所有

L
粉丝 18
博文 166
码字总数 116776
作品 0
成都
程序员
私信 提问
前端常见JS问题总结

Genius only means hard-working all one's life. 20. Call 和 Apply 的区别 语法: function.call(thisObj [, arg1[, arg2[, [, ...argN]]]]); function.apply(thisObj [, argArray] ); 定......

Neuro_annie
2017/09/01
0
0
javascript性能提升之路

  在平时工作做项目的过程中我们有时候会遇到页面加载很久才加载出来的情况,这样严重影响了用户的体验效果。虽然说有时候可能是因为网络问题,但有些时候确实是前端代码没有足够优化导致的...

慕斯不想说话
04/07
0
0
前端面试之JavaScript(一)

也到了自己快找工作的时候了,所以最近在复习前端的知识,这里是自己对JavaScript的一些知识点的总结,以后会持续更新,分享自己的复习知识,有些是在不懂的时候参考大佬的讲解。有些理解不到...

Ilion
04/10
0
0
JavaScript 闯关记

《JavaScript 闯关记》之 DOM(下) Element 类型 除了 Document 类型之外,Element 类型就要算是 Web 编程中最常用的类型了。Element 类型用于表现 XML 或 HTML 元素,提供了对元素标签名、...

掘金官方
2018/01/10
0
0
春招季如何横扫 Javascript 面试核心考点(基础版)?

引言 Javascript是前端面试的重点,本文重点梳理下 Javascript 中的常考知识点,然后就一些容易出现的题目进行解析。限于文章的篇幅,无法将知识点讲解的面面俱到,本文只罗列了一些重难点,...

浪里行舟
03/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式数据一致性

狼王黄师傅
58分钟前
1
0
经验

相信每位开发者在自己开发的过程中,都会反思一些问题,比如怎样提高编程能力、如何保持心态不砍产品经理、996 之后怎样恢复精力……最近开发者 Tomasz Łakomy 将他 7 年的开发生涯中学习到...

WinkJie
今天
4
0
从源码的角度来看SpringMVC

SpringMVC核心流程图 简单总结 首先请求进入DispatcherServlet 由DispatcherServlet 从HandlerMappings中提取对应的Handler 此时只是获取到了对应的Handle,然后得去寻找对应的适配器,即:H...

骚年锦时
今天
1
0
Android 9.0 某些应用无法访问网络

将App安装在 Android 9.0的设备上发现,竟然无法登录了,后来查阅资料后发现原来是Android 9.0默认使用https访问,因此如果服务器支持 https访问的话,直接将http改成https即可,如果服务器不...

lanyu96
今天
2
0
Gitlab利用Webhook实现Push代码后的jenkins自动构建

之前部署了Gitlab的代码托管平台和Jenkins的代码发布平台。通常是开发后的代码先推到Gitlab上管理,然后在Jenkins里通过脚本构建代码发布。这种方式每次在发版的时候,需要人工去执行jenkins...

shzwork
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部