javascript中的双波浪线~~与双感叹号!!,.NET双问号??用法
双波浪线"~~"等价于Math.floor取整,"~~"的效率较高可读性较差,"Math.floor"效率较高可读性较低。其实习惯就好。
如:
var i = 1.6; alert(~~i);//输出1 alert(Math.floor(i));//输出1
双感叹号"!!"等价于"Boolean",把值转换为bool类型;
如:
var b = null; alert(!!b);//输出false alert(Boolean(b));//输出false
---------------------------
关于双符号,.NET中也有一个双问号"??"的用法。.NET Framework 4.0+版本支持,C#为例。
如:
string str = Request.QueryString["act"] ?? "";//当Request.QueryString["act"]值为null时取"",否则取Request.QueryString["act"]的值。
它与三元表达式的区别
string str = Request.QueryString["act"] ? "" : Request.QueryString["act"];//看出来了吧。