在函数前面加分号——;(function(){})()

;(function($,undefined){

  //代码...

})()

  我们写代码每句的结束可以省略分号,但是分析器的自动分号插入,大多数场景下ASI会正确插入分号,不会产生错误。但ASI的分号插入规则非常复杂且很难记住,因此《编写可维护的Javascript》一书的作者推荐大家不要省略分号。其实很多新手都不会省略。

  一:这里的分号的作用:防止多文件集成成一个文件后,高压缩出现语法错误。

  二:js里面没有块级作用域,因而用(function(){})()闭包模拟作用域块,可以对变量起保护作用。

  三:undefined可以是1.只声明变量未初始化,如var a ; 2. 尚未定义的变量 如alert(b);函数中查找变量先搜寻内部变量,至最外层,undefined是搜索到全局环境时候仍未找到,我们都知道window是全局变量。在google的控制台输入window.undefined;也可看出undefined是window的一个属性。而这里将undefined声明为局部变量,当函数内要将变量与undefined比较的时候,就不需要搜索window,从而提升了性能。

   undefined派生于null,当输入undefined==null时,结果为true.一般不会定义变量为undefined,要声明空对象,可以 var a = null;

转载于:https://www.cnblogs.com/chuyu/archive/2013/06/10/3130916.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值