>  기사  >  백엔드 개발  >  【原创】Js和PHP中的||、&&运算符异同点

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

WBOY
WBOY원래의
2016-06-20 12:36:131148검색

在学习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으로 문의하세요.