最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--返回对象
JS中逻辑&&和||运算数可以是任何类型的,不止是布尔型的。布尔型绝对简略,本文只针对非布尔型或者二者都有的情况作说明.
对于如下实例:
var T = {}; function test() { var height = 0; var re = T || 100; alert(re); }
1.如果运算数一个为空对象,true, 已定义的变量, 另一个为常量,如100,返回该常量对象。如:
function test() { var height = 200; var re = height && 100; alert(re); //返回:100 }
3.如果运算数有一个为null,返回null。
4.如果运算数有一个为NaN,返回NaN。
5.如果运算数有一个没有定义就用,则产生错误。如:
function test() { var re = height &&100; alert(re);//不会输出 }
var T = {}; function test() { var re = T.height && 100; alert(re); //返回:[undefined] }
逻辑||运算数与&&类似:
1.如果运算数一个为对象,另一个为布尔值(true或false)或者其它常量,如100,返回该对象。如:
var T = {}; function test() { var re = T || 100; alert(re); //返回:[object Object] }
3.如果运算数有一个为null,返回null。
4.如果运算数有一个为NaN,返回NaN。
5.如果运算数有一个没有定义就用,则产生错误。如:
function test() { var re = height || 100; alert(re);//不会输出 }
var T = {}; function test() { var re = T.height || 100; alert(re); //返回:[undefined] }
function test() { var re = 200 || 100; alert(re);//输出200 }
文章结束给大家分享下程序员的一些笑话语录: 一个程序员对自己的未来很迷茫,于是去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝说"我的孩子,你去问Lippman,他现在领导的程序员的队伍可能是地球上最大的"
于是他去问Lippman。
Lippman说"程序员的未来就是驾驭程序员"
这个程序员对这个未来不满意,于是他又去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝说"我的孩子,你去问Gates,他现在所拥有的财产可能是地球上最多的"
于是他去问Gates。
Gates说"程序员的未来就是榨取程序员"
这个程序员对这个未来不满意,于是他又去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝说"我的孩子,你去问侯捷,他写的计算机书的读者可能是地球上最多的"
于是他去问侯捷。
侯捷说"程序员的未来就是诱惑程序员"
这个程序员对这个未来不满意,于是他又去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝摇摇头"唉,我的孩子,你还是别当程序员了")