ECMAScript企业开发细节处理

2018-11-23  本文已影响0人  远方的路_

在企业开发中一般情况下, 如果需要通过只调用函数来隔离命名空间
都会在只调用函数前面加上一个分号, 再后面也加上一个分号
前面加上一个分号, 避免不要受到其它垃圾的影响
后面加上一个分号, 做一个优秀的人, 避免影响到其它人

    ;(function () {
        console.log("demo");
    })();

一般情况下在企业开发中, 利用只调用函数隔离命名空间
还有传递两个参数
window: 传递window是为了方便压缩代码
undefined: 传递undefined是因为老版本的IE中undefined可以被修改

;(function (window, undefined) {
      console.log("demo");
})(window, undefined);

注意点:

  1. 只要是script标签中就是全局作用域

  2. 所以通过script src=导入的js都在全局作用域中

  3. 在企业开发中大部分都是协同开发, 也就是多个人同时编写不同的js文件

  4. 所以当同时导入多个不同js文件的时候, 可能会发生命名冲突的问题

  5. 默认情况下只要是在全局作用域中定义的变量和函数都是属于window的
    var num = 123;
    console.log(window.num);


以下方式给构造函数传递参数的好处:

  1. 原来的方式如果参数太多, 我们需要不断的编写, 而且如果参数发生改变, 构造函数的形参列表也需要发生改变
  2. 现在的方式不用关心有多少个参数, 而且如果参数发生改变, 构造函数的形参列表也不用发生改变
function Person(options) {
        // 逻辑或如果参与运算的不是Boolean类型, 会先转换为Boolean类型
        // 然后如果条件A为真就返回条件A
        //     如果添加A不为真, 无论条件B是否为真, 都返回条件B
        options = options || {};
        this.name = options.name;
        this.age = options.age;
上一篇 下一篇

猜你喜欢

热点阅读