Javascript简写条件语句(推举)_.docx

上传人:啊飒飒 文档编号:11650895 上传时间:2021-08-28 格式:DOCX 页数:10 大小:14.80KB
返回 下载 相关 举报
Javascript简写条件语句(推举)_.docx_第1页
第1页 / 共10页
Javascript简写条件语句(推举)_.docx_第2页
第2页 / 共10页
Javascript简写条件语句(推举)_.docx_第3页
第3页 / 共10页
Javascript简写条件语句(推举)_.docx_第4页
第4页 / 共10页
Javascript简写条件语句(推举)_.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Javascript简写条件语句(推举)_.docx》由会员分享,可在线阅读,更多相关《Javascript简写条件语句(推举)_.docx(10页珍藏版)》请在三一文库上搜索。

1、Javascript简写条件语句(推举)_ 下面我就为大家带来一篇Javascript简写条件语句(推举)。我觉得挺不错的,现在就分享给大家,也给大家做个参考。 常常在各处牛人的代码中看到很多简写的条件表达语句,看了一些介绍这方面的文章,觉得3 ways 2 say if这篇文章(l)还不错。在这篇文章中对传统的if.else.、?:、/|三种条件表达的写法的特点及用处进行了总结归纳,简述如下: 1. if.else结构 / Set r to 0 or 1 var r= Math.floor(2*Math.random() / Set a, b and c to small if r=0 an

2、 else set them to big / using three different techniques / Method 1: If else var a; if (r=0)a = small else a = big; / Method 2: Conditional operator var b = r=0 ? small : big; / Method 3: And/or operators var c = r=0 small | big; / Check the values of our variables alert(r+ +a+ +b+ +c); 2. if.else i

3、f.else结构 / Set r to 0,1,2 or 3 var r= Math.floor(4*Math.random() / Set a, b and c to nada,small,big and huge / depending on the value or r using three different techniques / Method 1: If. else if. else var a; if (r=0)a=nada else if (r=1)a=small else if (r=2)a=big else a=huge; / Method 2: Conditional

4、 operators var b = r=0 ? nada : r=1 ? small : r=2 ? big : huge; / Method 3: And/or operators var c = r=0 nada | r=1 small | r=2 big | huge; / Check the values of our variables alert(r+ +a+ +b+ +c); 3. 执行函数 / Set r to 0,1,2 or 3 var r= Math.floor(4*Math.random() / The global variable x and our four f

5、unctions var x=; nada=function()x+=Nada! ; small=function()x+=Small! ; big=function()x+=Big! ; huge=function()x+=Huge! ; / Call a specific function depending on the value of r / using three different techniques / Method 1: If. else if. else if (r=0)nada() else if (r=1)small() else if (r=2)big() else

6、 huge(); / Method 2: Conditional operators r=0 ? nada() : r=1 ? small() : r=2 ? big() : huge(); / Method 3: And/or operators r=0 (nada() | true) /nada()函数不肯定返回true,为了保证后续的规律或|推断不被执行,需要返回true值,下同 | r=1 (small() | true) | r=2 (big() | true) | huge(); / Check the values of our variables alert(r+ +x); 4

7、. 执行代码 / Set r to 0,1,2 or 3 var r= Math.floor(4*Math.random() / The global variable x var x=; / Executing different code depending on the value of r / using three different techniques / Method 1: If. else if. else if (r=0)x+=Nada! else if (r=1)x+=Small! else if (r=2)x+=Big! else x+=Huge! ; / Method

8、 2: Conditional operators r=0 ? function()x+=Nada! () : r=1 ? function()x+=Small! () : r=2 ? function()x+=Big! () : function()x+=Huge! (); / Method 3: And/or operators r=0 (function()x+=Nada! () | true) /有人在评论中指出这里的匿名函数是不必需的,在只有一条可执行代码时是这样的,但是假如有多条代码需要执行,匿名函数还是不错的 | r=1 (function()x+=Small! () | tru

9、e) | r=2 (function()x+=Big! () | true) | function()x+=Huge! (); / Check the values of our variables alert(r+ +x); 在这篇网文中,的关注重心是代码的简短与否,所以在一般状况下实现同等功能,更倾向于用法?:运算符,而觉得和|的方式要多打几个字母,因而显得比较累赘。在执行函数的状况下,用法传统的if.else更便利。在它的评论中有人提出,让Client端代码更简洁短小作用大过提高一些不起眼的运行效率,这一点从某种程序上来说也是正确的。所以从形式上选取一种更简洁的形式处理条件语句,可能比这

10、些语句本身的运行效率更为重要,何况运行效率还会因UA而异。 在只存在两种条件的推断中,用if.else或?:都是相当直白,而和|的运算方式就稍嫌简单。但是其实只要明白以下两个基本原则,全部问题都会迎刃而解了: 其一、当用规律与和规律或|运算符运算时,方向都是自左向右的,运算到第一个值为false的条件(或可转换为false的值,如null/undefined/0/NaN等)时停止,而运算到第一个值为true的条件(或可转换为true的值)时停止;整个条件返回的值是最终检测的条件的值,不肯定只是true/false。 其二、规律与运算符较规律或运算符相比,前者有更高的优先级。 依据第一个原则,r

11、=0和small按自左向右的挨次计算,假如r=0为true,则检测small,small为非空字符串,故这样c取值为small;假如r=0为false,则挺直开头规律或|的其次个条件big检测,同样的道理,c应当取值为big。依据其次个原则,在对上述代码中的变量c的运算过程中,没有必要加括号。 由于用法?:和、|运算符在肯定程序上能起到精简代码的作用,在jQuery这样的库源代码中特别重要。归纳起来,这类运算符主要有两方面的应用,一是赋值或返回值,二是执行代码(暂且这样分类)。 用于赋值的用法在jQuery或其他库中比比皆是,一个经典应用就是为接口实现默认值的功能,我们可以很简单写出这样的代码

12、来,如: var myObj = function(options) var color = options.color | this.defaults.defaults; var backgroundColor = options.backgroundColor | this.defaults.backgroundColor; ; myObj.prototype.defaults = color : #393939, backgroundColor : #222 var myIns = new myObj( color : #80FF80 ); console.log(color:+myIn

13、s.color+, backgroundColor: +myIns.backgroundColor); 不管用?:还是和|,由于不具备if.else与生俱来的代码块功能(用号包裹),所以它们都仅能执行单行代码,如: (xmlHttpRequest.readyState=4 xmlHttpRequest.status =200) ? alert(Success!): alert(Failure!); 所以假如有多条代码需要执行,就应当用匿名函数。如: (xmlHttpRequest.readyState=4 xmlHttpRequest.status =200) ? function()aler

14、t(Success!); var a=100; alert(a);: alert(Failure!); 在jQuery 1.7.1源代码这两种简写形式太多了,如line 2643就有: / Hook for boolean attributes boolHook = get: function( elem, name ) / Align boolean attributes with corresponding properties / Fall back to attribute presence where some booleans are not supported var attrNode, property = jQuery.prop( elem, name ); return property = true | typeof property != boolean ( attrNode = elem.getAttributeNode(name) ) attrNode.nodeValue != false ? name.toLowerCase() : undefined; , set:function() . 看来还得连续学习进行总结。 以上这篇Javascript简写条件语句(推举)就是我分享给大家的全部内容了,盼望能给大家一个参考 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1