JS 中的 event?event:window.event什么意思?求详解。
2016-03-21 10:59
645 查看
JS 中的 event?event:window.event什么意思?求详解。
2013-04-16 00:01flying607 | 分类:JavaScript | 浏览813次<script type = "text/javascript"> function Test(event) { event = event ? event : window.event; } </script> <input type ="button" value = "clickme" onclick = "Test(this)"> 请问: 1,“onclick = "Test(this)"”中的this代表什么? 2,“event = event ? event : window.event; ”应该怎样理解? a),三元运算符中的问号前面不是应该是个bool值吗?是不是在JS中“undefined”在三元运算符的问号前出现时 可以理解为false? b),“onclick = "Test(this)"”中的this可以改成event吗?为什么? c),如果这是个没有参数的方法(函数),我可以在方法中通过“event”获取这个既没有ID也没有name的button的value吗?如下: <script type = "text/javascript> function Test() { alert(event.value); } <script> <input type ="button" value = "clickme" onclick = "Test()"> 请区别IE和火狐进行说明,万分感谢。 对其功能我略懂,但是其原理不懂,求详细说明。分享到:2013-04-16 00:38提问者采纳1、this 表示这个<input> 元素,等同于document.getElementById;2、a)你的理解是正确的,但是不仅只有undifined会被强制转换。 js的弱类型,让他可以申明后赋任何类型的值。因此除了bool型的false,number类型的0,String类型的空串,还有null在三元运算符或者判断条件时都会被转成false其他还有一些,可以看一看比较基础的javascript书和《javascript高级程序设计》,可谓一阅扫百惑,比在网上别人一知半解的讲述了解的更彻底。b)通过上面的解答,应该知道为什么不能用event代替this了吧c)js对于函数的定义是非常松,即使你在函数定义时未写任何参数,或者你定义的参数有多个,但是你调用时,一个参数也不填,也不会出错的。js函数内默认有个变量,保存你的入参叫:arguments他是一个数组,下标从0开始,所以获取event可以写成
123 | function Test(){ var event = window.event||arguments[0]; } |
1234567 | function Test(){ var event = window.event||arguments[0], //target 就是这个对象 target = event.srcElement||event.target, //这个对象的值 targetValue = target.value; } |
恩,我懂了。辛苦了,50分送上,不成敬意,请笑纳
相关文章推荐
- javascript with语句
- js匿名函数没有实际名字,也没有指针,怎么执行滴?
- JS判断是否为中文的方法
- json转换异常
- JavaScript label标签
- JavaScript 测试和捕捉 try 和 catch
- javascript属性和方法
- 【转载】Js中replace()的用法
- javascript 函数 JavaScript 局部 变量
- JavaScript 对变量进行赋值的条件运算符
- JavaScript For 循环
- L4-JavaScript基础知识
- JavaScript 数字
- JavaScript 数组 JavaScript 对象
- JS弹出确认框及2个位数的正则验证
- js 当前栏目选择代码。
- js调用后台使用ajax及控件
- js获取ID的一些技巧
- javascript 函数和变量是区分大小写的
- js日期时间函数(经典+完善+实用)