zoukankan      html  css  js  c++  java
  • 两个JS的不好设计

    1.相等判断

    if(a){}
    相当于
    if(a == ture){}

    然而下面的相等判断都为true

    0 == false
    "" == false
    "false" == false
    undefined == false
    null == false
    

    假设你有一个需求,根据后端返回显示数字。
    如果返回null,显示-1
    你写下如下代码:

    if(a){
    	return a;
    }
    else{
    	return -1;
    }
    

    这段代码有问题,问题是a==0时,返回-1,而不是返回0

    2.new Date

    new Date(null) //Thu Jan 01 1970 08:00:00 GMT+0800 (CST)。
    new Date(0) // Thu Jan 01 1970 08:00:00 GMT+0800 (CST)
    new Date(false)  // Thu Jan 01 1970 08:00:00 GMT+0800 (CST)
    new Date(undefined) // Invalid Date
    new Date('')  //Invalid Date。
    

    对于 new Date的传参,需注意特别判断。

    由1、2可知JS里面做判断,需===或者把其它异常值转换为一个异常值是较好的实践。

  • 相关阅读:
    socket的accept函数解析
    c socket(续)
    C socket指南
    网络字节序和本机字节序
    jar包
    RESTful API 设计指南[转]
    理解RESTful架构[转]
    c语言正则表达式
    Fedora设置中文
    创建框架结构的页面2
  • 原文地址:https://www.cnblogs.com/samwu/p/8072296.html
Copyright © 2011-2022 走看看