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"];//看出来了吧。



类别:前端脚本   阅读(0)   评论(0)    发表时间:2013-04-08 19:15  星期一

评论区

发表评论

        姓名:
邮箱|网站:
        内容:

  (可按Ctrl+Enter提交)