Home  >  Article  >  Backend Development  >  【原创】Js和PHP中的||、&&运算符异同点

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

WBOY
WBOYOriginal
2016-06-20 12:36:131147browse

在学习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,所以取逻辑与左边的值
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn