• JavaScript判断变量值简单的方法


    今天在看一个动态web表单设计器的时候发现项目中的 一个写法

    1 function sum_total(v){
    2     if (!v) {
    3         v= 0;
    4     }
    5 }
    !v  这是什么写法?不过可以肯定的是,这是一种判断变量值的方式,看样子应该是非类型判断,会不会是判断变量v是否为0,如果不为0就给变量v赋值0。
    带着这个疑问,我马上动手敲了几行js印证我的猜想
    1 var num = 0;
    2 document.write("num=" + num + "<br/>");
    3 if (num) {
    4     document.write("num不为0<br/>");
    5 } else {
    6     document.write("num为0<br/>");
    7 }

    我把num的值又改为了-1和1,对比结果为

     那么得出结论,变量类型为int:当变量值 = 0时,返回值为false;当变量值 < 0变量值 > 0时,返回值为true
     

    (那表单设计器中的代码  if (!v) v= 0; 写法就是多此一举了,当v = 0时,又给v赋值0,哈哈哈哈哈~被我给发现了~)
    感谢@mgso的提醒~

    @mgso
    哥,那不是多此一举哟
    如果v为null,undefinde,'',0...结果都是false
    这里if(!v)的意思是:
    如果v值没有传过来,设置v的值为0.等价于:
    v || 0


     
    嗯,验证了int类型的变量,那么再测试一下string类型的变量
     1 var str = "";
     2 document.write("<br/>str=" + str + "<br/>");
     3 if (str) {
     4     document.write("str有值<br/>");
     5 } else {
     6     document.write("str为空<br/>");
     7 }
     8 str = null;
     9 //...
    10 str = undefined;
    11 //...
    12 str = "Hello World!";
    13 //...

    执行结果为

     那么得出结论,变量类型为string:当变量值 = ""变量值 = null变量值 = undefined时,返回值为false,当变量值 = "xxx"时,返回值为true

    ————————————————————华丽的分割线————————————————————

    哈哈哈,有了这种写法,以后判断 数值是否为0 和 字符串值是否为空 就不用写成 if (num === 0) 或者 if (str === "" || str === undefined) 了!

    1 if (str) {
    2     // 如果str不为空的操作
    3 }
    4 if (num) {
    5     // 如果num不为0的操作
    6 }
  • 相关阅读:
    Java面试宝典
    如何写一个webService接口
    webservice接口的开发和调用
    基于CXF框架下的SOAP Webservice服务端接口开发
    WebService—CXF整合Spring实现接口发布和调用过程
    使用cxf开发webservice接口
    webservice接口与HTTP接口学习笔记
    C#图解教程 第二十五章 其他主题
    C#图解教程 第二十四章 反射和特性
    C#图解教程 第二十三章 预处理指令
  • 原文地址:https://www.cnblogs.com/linyisme/p/6208322.html
Copyright © 2020-2023  润新知