zoukankan      html  css  js  c++  java
  • 编写可维护的javascript 随笔

    1.命名规范

    变量名,名词作为前缀   例:count , myName

    常量,初始化后就不能改变,命名使用大写字母和下划线结合命名     例:MAX_COUNT    URL

    函数名,动词作为前缀   例:getCount , isFound

    构造函数,采用大驼峰,以大写字为开头。多数是名词,因为它是用来创建某个类型的实例     例:Person

    2.null

    适合使用null场景:

    a>用来初始化一个变量,这个变量可能赋值为一个对象 。   例:var person = null

    b>用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象。  例:

    var preson = get preson();
    if(preson  !== null){
        doSomeing();
    }
    

    c>当函数的参数期望是对象时,用作参数传入。

    d>当函数的返回值期望是对象时,用作返回值传出。

    不适合使用null的场景:

    a>不要使用null 来检测是否传入了某个参数。例:

    function something(arg1, arg2 ,arg3){
        if( arg3 != null){
             .....  
        }      
    }    

    b>不要用null来检测一个未初始化的变量

      

    3.for-in  循环用来遍历对象属性的。不仅遍历对象的实例属性还会遍历从原型继承来的属性。  可以通过hasOwnProperty()方法来过滤出实例属性。

    4.eval()的参数是一个字符串,它会将传入的字符串当做代码来执行。  例:

    var count = 0;
    var number = eval("5 + count  ");
    console.log(count ) ;      //15
  • 相关阅读:
    NSTimer与循环引用
    Swift类实例与循环引用的解决
    Swift运算符函数与自定义运算符
    Swift延迟存储属性
    Swift枚举-相关值与递归枚举
    互斥锁、自旋锁、dispatch_once性能对比
    Swift闭包与简化
    原子属性和使用互斥锁实现的属性的性能对比
    [HDOJ]_PID_1004_Let the Balloon Rise
    [HDOJ]_PID_2087_剪花布条
  • 原文地址:https://www.cnblogs.com/vivijs/p/3914824.html
Copyright © 2011-2022 走看看