• 《编写可维护的JavaScript》——JavaScript编码规范(三)


    啦啦啦啦啦,今天第二篇随笔(^o^)/~

    ////////////////////////////////正文分割线//////////////////////////////////////

    直接量

    JavaScript中包含一些类型的原始值:字符串、数字、布尔值、null和undefined。同样也包含对象直接量和数组直接量。

    字符串

     在JavaScript中,字符串是独一无二的。字符串可以用双引号括起来,也可以用单引号括起来。

    除了内部出现字符串界定符(string delimiter)时需要转义外,两种做法在功效上完全一致。

    你需要关心的是,你的代码从头到尾只保持一种风格。

    关于字符串还有另一个问题需要注意,即创建多行字符串。

    //不好的写法
    var longString = "Here's the story, of a man 
    named Brady.";
    

    尽管从技术上讲这种写法是非法的JavaScript语法,但的确能在代码中创建多行字符串。通常不推荐这种写法。造Google的JavaScript风格指南中是明确禁止的。

    //好的写法
    var longString = "Here's the story, of a man"+
                     "named Brady.";
    

    数字

    在JavaScript中的数字类型只有一种,因为所有数字形式——整数和浮点数——都存储为相同的数据类型。还有一些其他的数字直接量格式来表示不同的数据格式。其中大部分写法都很好用,但也有一些写法有问题。

    //不推荐的小数写法:没有小数部分以及没有整数部分
    var price = 10.;
    var price = .1;
    //不推荐的写法:八进制写法已经被弃用了
    var num = 010;
    

    为了避免歧义,请不要省略小数点之前或之后的数字。Dojo编程风格指南明确禁止这两种写法。JSLint和JSHint对这两种写法都会给出警告。

    null

    null是一个特殊值,但我们常常误解它,将它和undefined搞混。在下列场景中应当使用null

    • 用来初始化一个变量,这个变量可能赋值为一个对象。
    • 用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象。
    • 当函数的参数期望是对象时,用作参数传入。
    • 当函数的返回值期望是对象时,用作返回值传出。

    还有一些场景不应当使用null。

    • 不要使用null来检测是否传入了某个参数。
    • 不要使用null来检测一个未初始化的变量。
    //不好的写法:用来和未初始化的变量比较
    var person;
    if(person!=null){
        doSomething();
    }
    //不好的写法:检测是否传入了参数
    function doSomething(arg1, arg2, arg3){
        if(arg3!=null){
             doSomethingElse();
        }
    }
    

    理解null最好的方式是将它当做对象的占位符。

    undefined

    undefined是一个特殊值,但我们常常将它和null搞混。那些没有被初始化的变量都有一个初始值,即undefined,表示这个变量等待被赋值。

    对象直接量

    创建对象最流行的一种做法是使用对象直接量,在直接量中直接写出所有属性,这种方式可以取代先显示地创建Object的实例然后添加属性的这种做法。比如我们很少见到下面这种写法。

    //不好的写法
    var book = new Object();
    book.title = "Maintainable JavaScript";
    
    //好的写法
    var book = {
        title: "Maintainable JavaScript"
    };
    

    数组直接量

    和对象直接量相似,数组直接量是JavaScript中定义数组最简洁的一种方式。不赞成显示地使用Array构造函数来创建数组,比如:

    //不好的写法
    var colors = new Array("red", "green", "blue");
    
    //好的写法
    var colors = ["red", "green", "blue"];
    

      

    <!--

    作者:纤锐
    出处:http://www.cnblogs.com/beginner2014
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。谢谢合作。

    -->

  • 相关阅读:
    css 颜色
    目标
    css单位
    自我介绍
    Grid Layout
    position
    【转】android源码分析之windowmanager (android悬浮窗口的实现)
    java线程池原理
    STM32 中断中调用freeRTOS API 需要注意的地方
    今天开通博客园啦~~~~
  • 原文地址:https://www.cnblogs.com/beginner2014/p/5405087.html
Copyright © 2020-2023  润新知