JS 中的 event?event:window.event什么意思?求详解。

2020-10-12 科技 62阅读

1、this 表示这个 元素,等同于document.getElementById;

2、a)你的理解是正确的,但是不仅只有undifined会被强制转换。

    js的弱类型,让他可以申明后赋任何类型的值。

因此除了bool型的false,number类型的0,String类型的空串,还有null在三元运算符或者判断条件时都会被转成false

其他还有一些,可以看一看比较基础的javascript书和《javascript高级程序设计》,可谓一阅扫百惑,比在网上别人一知半解的讲述了解的更彻底。

b)通过上面的解答,应该知道为什么不能用event代替this了吧

c)js对于函数的定义是非常松,即使你在函数定义时未写任何参数,或者你定义的参数有多个,但是你调用时,一个参数也不填,也不会出错的。

js函数内默认有个变量,保存你的入参叫:arguments

他是一个数组,下标从0开始,

所以获取event可以写成

function Test(){
var event = window.event||arguments[0];
}

在ie下,事件对象是在全局的,也就 window下,做为window的一个属性

在其他浏览器,都做为方法的第一个参数传入,所以这样写是为了兼容

要获取这个button的值,可以先获取这个对象,event既然是事件,肯定是某对象触发的

所以有这要一个方法

ie下是event.srcElement

其他浏览器是event.target

所以获取这个对象和获取事件对象的值可以这样写

function Test(){
var event = window.event||arguments[0],
//target 就是这个对象
target = event.srcElement||event.target,
//这个对象的值
targetValue = target.value;
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com