大家对input中的value值研究的透彻么,今天看到一篇博客,很神奇  然后研究了一下input中的value值到底对应的是啥值

1、input中的value,这是大家在开发中进场遇到的一个问题

<input type="button" value="kester" onclick = "alert(value)">

这种情况下,会弹出测试的弹窗内容为“kester”

2、但是在请看一下的一种情况

<script>
var value=123;
</script>
<input type="button" onclick = "alert(value)">

心里在想,这种情况下value找不到,是不是沿着作用域找到上一层的document,应该弹出“123”,结果是错误的,然而弹出来的是一个空值

3、value确实是找不到么?答案却否定的。

在调试工具下,查看的this的属性是有一条记录的:value:“”,这样证实了value为空值,例下代码

<input type="button" onclick = "console.log(this)">

4、所以,在input中,value是永远存在的,不存在找不到的情况,赋值了value就是被赋值的值,没有赋值的value为空,这个大家都应该清楚的

5、举个例子

<script>
var val=123;
</script>
<input type="button" onclick = "console.log(val)">

value的伪装兄弟是val。val现在input对象上找,没有找到,沿着作用域在document对象上找,找到弹出123

6、不论val=123被写在前面还后面,都是可以访问到的,因为这是一个点击事件,当在出发这个点击事件的时候,页面已经解析了js

<input type="button" onclick = "console.log(val)">
<script>
var val=123;
</script>

7、是这样吗?但其实把声明放在后面是不靠谱的,如果之间还有其他<script>代码,由于网络原因无法访问到,由于<script>有阻塞作用,会阻塞后面代码,会报错。

<input type="button" onclick = "alert(val)">
<script src="http://www.qq.com/test.js"></script>
<script>
var val=123;
</script>

最新文章

  1. Android Studio获取SHA1和MD5方法
  2. ROS的单线程Spinning和多线程Spinning
  3. mac 终端(terminal) 启动tomcat
  4. 【C语言入门教程】2.8 C 语言的预处理命令
  5. Consuming a Web Service in AX 2012
  6. 今天想用jquery来实现div的拖放功能
  7. 上线踩坑引发的处理方式---lsof,strace
  8. java Timer(定时调用、实现固定时间执行)
  9. 如何查看Linux操作系统版本
  10. mac ide
  11. Delphi文件映射
  12. SGU 149. Computer Network( 树形dp )
  13. 张高兴的 Windows 10 IoT 开发笔记:使用 MAX7219 驱动 8&#215;8 点阵
  14. 关于JS中变量提升的规则和原理的一点理解
  15. [转]关于OpenGL的绘制上下文
  16. [Swift]LeetCode817. 链表组件 | Linked List Components
  17. zookeeper的单实例和伪集群部署
  18. 19.0-uC/OS-III内存管理
  19. 自己遇到的ajax调用ashx文件无法获取返回值的一种情况
  20. 多线程(Thread,Runnable)

热门文章

  1. Linux下添加硬盘,分区,格式化详解
  2. HTTP 详解一 -- 转
  3. 让我们一起Go(九)
  4. MyBatis知多少(4)MyBatis的优势
  5. LeetCode——Merge k Sorted Lists
  6. mysqldump: Couldn&#39;t execute &#39;show table status &#39;解决方法
  7. python反转字符串(简单方法)及简单的文件操作示例
  8. 订餐APP第一次sprint+燃尽图
  9. dp - Google Code jam Qualification Round 2015 --- Problem B. Infinite House of Pancakes
  10. 支付宝支付集成,上传RSA公钥一直显示格式错误