关于变量声明问题。

var s = str || "default"; 
var l = len || s.length; 
var o = option || "i";
请问这么声明变量什么意思呢?谢谢。
阅读 2.7k
6 个回答

这是短路语法,它比条件语句更加清晰

    let str = a || b;

若 a 为 true,则 str = a

若 a 为 false,则 str = b

    let str = a && b;

若 a 为 true,则 str = b

若 a 为 false,则 str = a

理解

比如 a && b ,a 如果是 true,那么此时结果只跟 b 有关,相当于结果就是 b

我记得没错的话,if else 有一个简化写法,是使用逻辑运算符,看你的这个问题好像是和这个有关

|| 后面相当于默认值的功能,如果 || 前面无法给值,就使用 || 后的值赋值。

惯用写法,当初js函数不支持默认值,通常就这样写,有了默认值可以使用默认值

问题的标题你需要修改一下,每一个的意思都是前面的变量存在是就将它赋值,不存在就把后面的默认值赋给新声明的变量

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏