首页  >  文章  >  后端开发  >  【原创】Js和PHP中的||、&&运算符异同点

【原创】Js和PHP中的||、&&运算符异同点

WBOY
WBOY原创
2016-06-20 12:36:131194浏览

在学习javascript中,发现逻辑与&&、逻辑或||这两个运算符在变量赋值中的使用很特殊,和之前熟悉的PHP不同!

1、条件语句

条件语句,比如if判断,与和或的理解都是一样的,不存在异议:

(1)||      当条件中有一个满足true,则进入语句执行

(2)&&   条件必须全部满足true,则进入语句执行

2、变量赋值

PHP:

$person  = array();$param = $arr['name'] || 'Bom';var_dump($param); //true,在PHP中逻辑或仍然是条件判断性质,变量是一个布尔值var_dumo($param);//false , 在PHP中逻辑与也仍然是条件判断性质,变量是一个布尔值

JS的逻辑与和或理解是:

(1)||  代表的是 如果左边的true就返回左边 否则返回右边

(2)&&  代表的是 如果左边返回的true就返回右边 否则返回左边

有什么用处?可以防止变量赋值的时候抛出typeError异常,或者说可以用来做变量默认值,比如:

var person= {}; //空对象var undefinedRes =   person.name;//undefined ,尝试检索一个不存在的成员元素,返回 undefinedvar typeErrorRes =   person.name.age;//typeError ,尝试检索一个undefined值,会导致typeError异常var status = person.name || "Bom";//Bom,用||取默认值Bom。person.name返回false,所以取逻辑或右边的值var name = person.name && "Bom";//undefined,person.name返回false,所以取逻辑与左边的值
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn