[关闭]
@windchimes 2016-03-25T16:56:26.000000Z 字数 924 阅读 305

es5 code style

js


对象:

1.var item = {};
使用直接量来创建对象,并且不要使用保留字作为键名(在IE8下不生效),尽量使用同义词来代替保留字,比如使用type来代替class

  1. 类型
    原始值 复杂类型
    原始值:string number boolean null undefined 存取直接作用它自身
    复杂类型:object array function 存取时作用于自身值的引用
  2. 数组
    直接量创建数组 var items = [];
    增加元素时,直接使用push方法
    拷贝数组时,直接使用slice方法;此方法还可以将类数组转换成数组

    function trigger() {
    var args=Array.prototype.slice.call(arguments);
    }


注意:call方法  原型链

  1. 字符串
    使用''包裹字符串,同时使用join方法将数组中的元素连接成一个字符串
    字符串过长时,使用‘+’

  2. 函数
    函数表达式:匿名函数表达式、命名函数表达式、立即调用的函数表达式

    var test = function(){return true;};
    var test = function test() {return true;};
    (function () {console.log('hahha');})();
    注意:不要在非代码块中声明函数,会导致解析表现不一致。
    var test;
    if(currentUser) {
    test = function test() {console.log();}}
    需要注意:function的参数不要是arguments对象

  3. 属性
    使用.来访问对象的属性var test = {'sss':'123','age':'33'}; var a=test.age;
    通过变量访问属性时使用中括号

var luke = {
jedi: true,
age: 28
};
function getProp(prop) {
return luke[prop];
}
var isJedi = getProp('jedi');

  1. 变量
    声明变量时,使用var来声明,这样声明的是局部变量;在作用域的顶部来声明变量,尽量避免变量提升
  2. 提升
    变量提升 函数提升
    变量提升:提升的是变量的定义
    函数提升:匿名函数表达式/命名函数表达式,只会提升变量名;函数表达式则会提升名字和函数体。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注