今天看JavaScript内核 系列的时候看到一个程序想到的一些东东。
一般的,||运算符都是用来判断两边的结果,最后返回的是true或者false,而在JavaScript中却有一个比较好玩的现象。
alert(1||2);
alert(1>2||2>3);
如果不去运行程序,我的想法就是:
true
false
而实际结果呢?
1
false
看到这个结果的时候的确是感觉比较奇怪的,也就是说如果||两边没有任何的比较,那首先返回的结果就是左边的那个。而&&与之相反
//定义一个Address类
function Address(street,xno){
this.street = street || 'Huang Quan Road';
this.xno = xno || 135;
this.toString = function(){
return "street : " + this.street + ", No : " + this.xno;
}
}
//定义另一个"类",Person
function Person (name, age, addr) {
this.name = name || 'unknown';
this.age = age;
this.addr = addr || new Address(null, null);
this.getName = function () {return this.name;}
this.getAge = function(){return this.age;}
this.getAddr = function(){return this.addr.toString();}
}
alert(1||2); // 1
alert(1>2||2>3); //false
alert(1|2); //3
alert(1>2|2>3); //0
alert(1&&2); //2
alert(1&2); //0
alert(1>0&&2>1); //true
alert(1>0&2>1); //1
//通过new操作符来创建两个对象,注意,这两个对象是相互独立的实体
var jack = new Person('jack', 26, new Address('Qing Hai Road', 123));
var abruzzi = new Person('abruzzi', 26);
var per=new Person();
alert(per.name); //unknown
alert(per.age); //undefined
alert(per.addr); //street : Huang Quan Road, No : 135
var add=new Address('WuXi Gaolang',1600);
alert(add); //street : WuXi Gaolang, No : 1600
alert(jack.getName()); //jack
alert(jack.getAge()); //26
alert(jack.getAddr()); //street : Qing Hai Road, No : 123
alert(abruzzi.getName()); //abruzzi
alert(abruzzi.getAge()); //26
alert(abruzzi.getAddr()); //street : Huang Quan Road, No : 135
个人还不太理解的就是(位移)
alert(1|2); //3
alert(1>2|2>3); //0
alert(1>0&&2>1); //true
alert(1>0&2>1); //1
分享到:
相关推荐
逻辑运算符将多个关系表达式组合起来组成一个更复杂的表达式。逻辑运算符分为逻辑非’!’、逻辑与’&&’、逻辑或’||’3种,本文将介绍这三种逻辑运算符 逻辑非 逻辑非操作符由一个叹号(!)表示,可以应用于...
JavaScript常用运算符和操作符总结(教辅)JavaScript常用运算符和操作符总结(教辅)JavaScript常用运算符和操作符总结(教辅)JavaScript常用运算符和操作符总结(教辅)JavaScript常用运算符和操作符总结(教辅)...
javaScript 逻辑运算符使用技巧整理 下面是返回true的情况 !null //true !undefined //true !0 //true !NaN //true !"" //true 下面是返回false的情况 !Array //false !Function //false !String //false !Object...
javascript相等运算符与等同运算符
WEB开发 之 JavaScript 比较和逻辑运算符.docx
主要介绍了JavaScript逻辑运算符的相关资料,帮助大家更好的理解和学习JavaScript,感兴趣的朋友可以了解下
Javascript常用运算符
使用JavaScript运算符;算术运算符;使用JavaScript运算符;使用JavaScript运算符;使用JavaScript运算符;使用JavaScript运算符;比较运算符;使用JavaScript运算符;逻辑运算符;使用JavaScript运算符;使用JavaScript运算符...
JavaScript的运算符和语句的练习代码
javascript等号运算符使用详解.docx
JavaScript运算符 ①算数运算符 ②关系运算符 ③逻辑运算符 ④赋值运算符 ⑤条件运算符 2.JavaScript运算符的优先级
自己做的 课件 js运算符 可以参考 适用于15分钟的课件
【第十一章】JavaScript【运算符语句】
本篇文章主要介绍了Javascript逻辑运算符"或"的巧用实例,希望对大家有所帮助,下面就随小编一起来看看吧
今天在做逻辑运算符的时候遇到一个小问题一直转不过弯来,var a=(undefined&&123)||(3||5)的返回值是什么? 首先是||的返回值问题: ||的返回值会返回最早遇到非以下类型的值: NaN null undefined 0 false; 所以3||...
JavaScript常用运算符和操作符总结(教辅).pdf
JavaScript 运算符