jquery基础学习之变量命名不污染的方法总结

变量命名不污染主要分两种情况:
1、jquery/$命名不冲突
2、普通变量

1)虽然是分两种情况但是实质还是一种,都是变量的命名冲突,jquery本身的设计者已经有了解决方案,采用沙箱设计。

看一下jquery的源码,就会发现:

1.外层沙箱以及命名空间$

为了避免声明了一些全局变量而污染,把代码放在一个“沙箱执行”,然后在暴露出命名空间(可以为API,函数,对象):

(function(xxx111){
典型的沙箱设计
})(xxx)

(function( window, undefined ) {
//用一个函数域包起来,就是所谓的沙箱
//在这里边var定义的变量,属于这个函数域内的局部变量,避免污染全局
//把当前沙箱需要的外部变量通过函数参数引入进来
//只要保证参数对内提供的接口的一致性,你还可以随意替换传进来的这个参数
“use strict”;
window.jQuery = window.$ = jQuery;
})( window );
有人会疑问,为什么要第二个参数undefined 。在这里,jquery中有一个针对压缩的小小策略。

先看以下代码:

(function( window, undefined ) {
var a = undefined;
if (a == undefined){blabla…}

….
if (c == undefined) return;
})( window );
经过压缩后ÿ

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值