经常看见有人在javascript中这样写 s=X||5;测试下来发现如果X不为空就取X的值,否则取值为5,请给个正确的解释不然不敢随便使用!

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 09:38:09

经常看见有人在javascript中这样写 s=X||5;测试下来发现如果X不为空就取X的值,否则取值为5,请给个正确的解释不然不敢随便使用!
经常看见有人在javascript中这样写 s=X||5;
测试下来发现如果X不为空就取X的值,否则取值为5,请给个正确的解释不然不敢随便使用!

经常看见有人在javascript中这样写 s=X||5;测试下来发现如果X不为空就取X的值,否则取值为5,请给个正确的解释不然不敢随便使用!

javascript中0,null,undefine在与(&&),或(||),等于判断(==)中都会以false作为判断结果.

javascript中, ||是从左往右判断的,并且返回的是一个值. 按照1的描述, 凡是不为0,null,undefine,都会以true判断, 并且返回他的值. 

这里的s=X||5可以理解为"X有值则用X,没有就用5".

这个地方要特别注意一下, s=0||5这种情况, 按照上面的描述, 0实际上是判断为false的, 所以这里s的值会5. 这往往是与真实想法相悖的.