巧用Javascript的逻辑运算符

domObj.onkeydown = function(e){
 if(e){
 e.……
 }else{
 event.……
 }
}

上面例子:如果是火狐浏览器执行if里面的语句,即使用e这个参数,来引用“事件对象”。

     如果是IE浏览器则执行else里面的语句,即使用event来引用“事件对象”。

这是为了兼容两个浏览器而使用的if判断方法,来使用事件对象。

domObj.onkeydown = function(e){
 var oevent = e||event;
 oevent.……
}

上面例子:通过使用“或”这个逻辑运算符的特性,来自动判断应该使用那个做为事件对象的引用。

解释:e || event ;

    如果是IE浏览器,那么e不能做为事件对象的引用,为假。event为真,那么event就会赋值给var oevent = event;

    反之在火狐浏览器,那么event不能做为事件对象的引用,为假。e为真,那么e就会赋值给 var oevent = e;

所以无论在那个浏览器下面,oevent都可以正确的引用事件对象!这种写法,比前面的if(){}else{}感觉要优雅些!

以上就是本文的全部内容,希望对大家有所帮助,谢谢对我们的支持!

(0)

相关推荐

  • javaScript 逻辑运算符使用技巧整理

    javaScript 逻辑运算符使用技巧整理 下面是返回true的情况 !null //true !undefined //true !0 //true !NaN //true !"" //true 下面是返回false的情况 !Array //false !Function //false !String //false !Object //false !Number //false !" " //false !100 //false !"100&quo

  • js的逻辑运算符 ||

    因而查询一下js的介绍: 1.逻辑或运算符||: 当运算符||的两个运算数都是布尔值,它对这两个运算数执行布尔OR操作. 它先计算第一个运算数,如果这个表达式的值可以被转换成true,那么它就返回左边这个表达式的值.否则计算第二个运算数 即使||运算符的运算数不是布尔值,任然可以将它看作布尔OR运算,因为无论它返回的值是什么类型,都可以被转换为布尔值. 而且另一方面,对非布尔型的运算数使用了||,这是利用了它对非布尔型的值会将其返回的特性.该运算符的这一用法通常是选取一组备选值中的第一个定义了的

  • Javascript中常见的逻辑题和解决方法

    一.统计数组 arr 中值等于 item 的元素出现的次数 function count(arr, item) { var count = 0; arr.forEach(function(e){ //e为arr中的每一个元素,与item相等则count+1 e == item ? count++ : 0; }); return count; } function count(arr, item) { return arr.filter(function(a){ return (a==item);

  • js比较和逻辑运算符的介绍

    比较和逻辑运算符用于测试 true 或 false. 比较运算符比较运算符在逻辑语句中使用,以测定变量或值是否相等. 给定 x=5,下面的表格解释了比较运算符: 运算符 描述 例子 == 等于 x==8 为 false === 全等(值和类型) x===5 为 true:x==="5" 为 false != 不等于 x!=8 为 true > 大于 x>8 为 false < 小于 x<8 为 true >= 大于或等于 x>=8 为 false &

  • 深入了解JavaScript的逻辑运算符(与、或)

    十二月已经过半,冬季是一个美妙的季节,寒冷的空气逼得人们不得不躲在安逸舒适的环境里生活.冬季会给人一种安静祥和的氛围,让人沉浸在其中,仿佛是一个旧的阶段的结束,同时也是一个新的阶段的开始.这么说来,西方和中国的圣诞节和春节都选择在了冬季也不是没有道理,在一年中最寒冷的时候,人们拥簇在温暖的环境里,彼此诉说着过去一年里自己的成就,展望着新的一年里美好的愿望,相互挂念的人团聚,天气的寒冷和人情的温暖形成了强烈的对比.而在天寒地冻之中,仿佛更有利于人们思考,去探寻知识的真谛. 这次想分享的是 JS 当

  • 详解JavaScript逻辑Not运算符

    在JavaScript 中,逻辑NOT运算符与C和Java中的逻辑 NOT 运算符相同,都由感叹号(!)表示.与逻辑 OR 和逻辑 AND 运算符不同的是,逻辑 NOT 运算符返回的一定是 Boolean 值. 逻辑 NOT 运算符的行为如下: 如果运算数是对象,返回 false 如果运算数是数字 0,返回 true 如果运算数是 0 以外的任何数字,返回 false 如果运算数是 null,返回 true 如果运算数是 NaN,返回 true 如果运算数是 undefined,发生错误 测试脚

  • JavaScript中的逻辑判断符&&、||与!介绍

    与C.Java等语言一样,JavaScript中可以用&&.||.!三个逻辑判断符来对boolean值进行逻辑判断.与C.Java不同的是,JavaScript中逻辑与(&&)和逻辑或(||)操作符可以应用在任何值上,而操作结束后返回的也不一定是boolean值. 逻辑与&&的处理规则 JavaScript中&&的处理规则是这样的: 1.判断第一个值是否为Falsy.如果为Falsy,则直接返回第一个值(不一定为boolean类型). 2.如

  • 详解JavaScript逻辑And运算符

    在JavaScript中,逻辑 AND 运算符用双和号(&&)表示 var bTrue = true; var bFalse = false; var bResult = bTrue && bFalse; 下面的真值表描述了逻辑AND运算符的行为: 需要说明的是:逻辑AND运算的运算数可以是任何类型的,不止是Boolean值,如果某个运算数不是原始的Boolean型值,逻辑AND运算并不一定返回Boolean值 逻辑AND运算符的运算行为如下: 如果一个运算数是对象,另一个

  • 巧用Javascript的逻辑运算符

    domObj.onkeydown = function(e){ if(e){ e.-- }else{ event.-- } } 上面例子:如果是火狐浏览器执行if里面的语句,即使用e这个参数,来引用"事件对象". 如果是IE浏览器则执行else里面的语句,即使用event来引用"事件对象". 这是为了兼容两个浏览器而使用的if判断方法,来使用事件对象. domObj.onkeydown = function(e){ var oevent = e||event; oe

  • 老生常谈javascript中逻辑运算符&&和||的返回值问题

    今天在做逻辑运算符的时候遇到一个小问题一直转不过弯来,var a=(undefined&&123)||(3||5)的返回值是什么? 首先是||的返回值问题: ||的返回值会返回最早遇到非以下类型的值: NaN null undefined 0 false; 所以3||5返回的是3: 如果||左右两边都是以上类型的值时,会返回最后一个 如 var a=0||null||undefined则a返回的值是undefined; 其次是&&的返回值问题: &&的返回值

  • javascript运算符——逻辑运算符全面解析

    前面的话 逻辑运算符对操作数进行布尔运算,经常和关系运算符一样配合使用.逻辑运算符将多个关系表达式组合起来组成一个更复杂的表达式.逻辑运算符分为逻辑非'!'.逻辑与'&&'.逻辑或'||'3种,本文将介绍这三种逻辑运算符 逻辑非 逻辑非操作符由一个叹号(!)表示,可以应用于ECMAScript中的任何值.无论这个值是什么数据类型,这个操作符都会返回一个布尔值.逻辑非操作符首先会将它的操作数转换成一个布尔值,然后再对其求反 逻辑非对操作数转为布尔类型的转换类型与Boolean()转型函数相同

  • 巧解 JavaScript 中的嵌套替换(强大正则)

    网友wys提问:如何仅使用JavaScript支持的正则语法,将 复制代码 代码如下: <p> <table> <p> <p> </table> <table> <p> <p> </table> <p> 中<table>...</table>之间的<p>都替换为<br/>? 思考 该问题的难点之一在于JavaScript支持的正则特性实在有

  • 巧方法 JavaScript获取超链接的绝对URL地址

    对于Web程序员来说,处理简单的URL格式也许会成为一场噩梦.试想一下,一个网址里有很多组成部分都会影响你对它的解析方法: ····是否以/字符开头 ····是否以//开头 ····是否以?号开头 ····是否以#号开头 -等等 当你想要这个地址的绝对地址时,如何判断处理和解析?它有可能是http协议的,还可能是https协议的.够头痛吧.幸运的是,我们有个简单的方法来确定它的绝对地址,就是创建一个A元素来辅助完成这个任务! JavaScript代码 这里我将使用一个返回函数的JavaScrip

  • JavaScript逻辑运算符相关总结

    前言 关于 JavaScript 中的逻辑运算符,我们经常使用却可能不知道它的一些机制和用法. 机制 首先我们需要知道几种逻辑运算符的优先级是不同的(关于完整的运算符优先级,看运算符优先级),逻辑非>逻辑与>逻辑或>条件运算符(三目运算符).运算顺序条件运算符是从右向左,而逻辑与和逻辑或都是从左向右. //表达式的优先级导致结果不同 false && true || true // 结果为 true false && (true || true) // 结

  • javascript巧用eval函数组装表单输入项为json对象的方法

    本文实例讲述了javascript巧用eval函数组装表单输入项为json对象的方法.分享给大家供大家参考,具体如下: 在ajax方式做web开发时,经常会遇到会保存前,收集表单输入项,组成json对象,然后把对象直接post到服务端的场景 常规做法是在js里写类似如下的代码: var myObj = {}; myObj.x = document.getElementById("x").value; myObj.y = document.getElementById("y&q

  • JavaScript 巧学巧用

    前言 由于工作和生活上的一些变化,最近写文章的频率有点下降了,实在不好意思,不过相信不久就会慢慢恢复过来,感谢大家一直以来的关注和支持. 本文主要给大家分享一下在编写JavaScript代码的时候存在的一些方法和技巧,虽然有时候条条大路都通向罗马,但是也许总会有那么一条最短的路径可走.希望通过以下几点JavaScript技巧让大家的代码"化繁为简,化简为精". 巧学巧用 1. new Set() 可能有人知道ES6中提供了新的数据结构 Set,但是能够灵活运用的人或许不多.利用Set数

随机推荐