ECMAScript企业开发细节处理
2018-11-23 本文已影响0人
远方的路_
在企业开发中一般情况下, 如果需要通过只调用函数来隔离命名空间
都会在只调用函数前面加上一个分号, 再后面也加上一个分号
前面加上一个分号, 避免不要受到其它垃圾的影响
后面加上一个分号, 做一个优秀的人, 避免影响到其它人
;(function () {
console.log("demo");
})();
一般情况下在企业开发中, 利用只调用函数隔离命名空间
还有传递两个参数
window: 传递window是为了方便压缩代码
undefined: 传递undefined是因为老版本的IE中undefined可以被修改
;(function (window, undefined) {
console.log("demo");
})(window, undefined);
注意点:
-
只要是script标签中就是全局作用域
-
所以通过script src=导入的js都在全局作用域中
-
在企业开发中大部分都是协同开发, 也就是多个人同时编写不同的js文件
-
所以当同时导入多个不同js文件的时候, 可能会发生命名冲突的问题
-
默认情况下只要是在全局作用域中定义的变量和函数都是属于window的
var num = 123;
console.log(window.num);
以下方式给构造函数传递参数的好处:
- 原来的方式如果参数太多, 我们需要不断的编写, 而且如果参数发生改变, 构造函数的形参列表也需要发生改变
- 现在的方式不用关心有多少个参数, 而且如果参数发生改变, 构造函数的形参列表也不用发生改变
function Person(options) {
// 逻辑或如果参与运算的不是Boolean类型, 会先转换为Boolean类型
// 然后如果条件A为真就返回条件A
// 如果添加A不为真, 无论条件B是否为真, 都返回条件B
options = options || {};
this.name = options.name;
this.age = options.age;