写法一:
var remember=document.getElementById("rememberPosition").checked;
remember = remember ? remember: false;
写法二:
var remember=document.getElementById("rememberPosition").checked;
remember = !remember ? false : remember;
请问这两种写法有什么不同,哪个更优
在我看来是下面的更优, 因为bool值的比较要比字符串的比较更加省,更优
上一个是字符串比较,下一个是bool值比较
什么意思啊,能不能说的详细一点
@菜鸟程序猿:
remember = remember ? remember: false; 中 ? : 这个三元运算符你应该懂吧, remembr?remember:false这里执行的是字符串的比较, 字符串的比较是: 比如abc 和abd比较,先是比较第一个a,相同了再比较下一个,否则就返回false ,不然就积雪继续比较下去,但
remember = !remember ? false : remember;这个是先将remember转为bool值,再进行比较,一步到位了(bool比较只有0和1比较)
@韦锦业: 谢谢你的解释,你说的我基本也知道,对于这个语句:
remember = remember ? remember: false;
比较的也是bool值吧,就是看 remember 是否为真啊
@菜鸟程序猿: 仔细看,好像也是呢
我觉得上面更优,没有任何数据说明,就算有,估计也可以忽略不计。
从阅读的方向看,肯定的语句,会被否定的语句更加容易阅读。
有什么意思?
都差不多,我一般会写上面的写法。