zoukankan      html  css  js  c++  java
  • javascript 编码规范

    前端编码风格规范(3)—— JavaScript 规范

    其他三个写的也挺好的,不过html和css我已经参照了其他的。

    防污染与IIFE

    (function($, w, d){
      'use strict';
    
      $(function() {
        w.alert(d.querySelectorAll('div').length);
      });
    }(jQuery, window, document));
    

    总是使用var来声明变量
    所有的变量以及方法,应当定义在 function 内的首行。只用一个 var 关键字声明,多个变量用逗号隔开。
    把赋值尽量写在变量申明中。
    总是使用 === 精确的比较操作符

    真假判断
    false:false, 0, undefined, null, NaN, ''
    true: true, 1, {}, [], '0'

    逻辑操作符 || 和 && 也可被用来返回布尔值

    (function(log){
     'use strict';
    

    function multiply(a, b) {
    //给变量赋值
    a = a || 1;
    b = b || 1;
     
    log('Result ' + a * b);
    }
     
    multiply(); // Result 1
    multiply(10); // Result 10
    multiply(3, NaN); // Result 3
    multiply(9, 5); // Result 45
     
    }(window.console.log));

    总是使用分号
    分号需要用在表达式的结尾,而并非函数声明的结尾

    var foo = function() {
         return true;
    }; // semicolon here.
    

    function foo() {
    return true;
    } // no semicolon here.

    不能在语句块内的函数声明

    // 不推荐
    if (x) {
     function foo() {}
    }
    
    // 推荐
    if (x) {
     var foo = function() {};
    }
    

    如何自定义异常?
    抛出对象

    if(name === undefined) {
     throw {
         name: 'System Error',
         message: 'A name should always be specified!'
     }
    }
    

    闭包有什么用?关于闭包如何工作的合理解释
    不在循环中创建函数或闭包
    只在构造函数和对象的方法中 使用this
    不要使用switch
    用数组和对象字面量
    禁止修改内建对象的原型链
    圆括号,不要用在一元操作符上,例如 delete, typeof 和 void,或在关键字之后,例如 return, throw, case, new 等。
    字符串统一使用单引号(‘)

    js语言精粹

    缩进2个空格
    if和 ( 之间放一个空格
    函数调用时,才使 ( 和前面的符号相连
    除了 . 和 [ 的所有中置运算符两边都放空格
    每个逗号和冒号后都使用一个空格
    每行最多放一个语句
    如果一行放不下,会在一个冒号或二元运算符后拆开它
    以行注释为主;块注释用于正式的文档记录和注释。
    把 { 放在一行的结尾,而不是下一行的开头

  • 相关阅读:
    推箱子
    为textarea增加maxlength属性(转)
    validate
    keypress
    Knockout
    & replace &
    银联参数
    chinapay
    model binding
    JSON.stringify
  • 原文地址:https://www.cnblogs.com/wang-jing/p/5562657.html
Copyright © 2011-2022 走看看