标签:方式 turn 声明 重复 前缀 实现 ret 使用 function
1、预解释发生在当前的作用域下
2、不管条件是否成立,{}中的代码都要进行预解释
3、只有=左边进行预解释,右边的不进行预解释
4、匿名函数中的自执行函数,在window下不进行预解释
5、在函数中return后面的代码不在执行了,但是需要进行预解释
6、在预解释的时候,如果发现声明的东西重复了,不需要重新的声明,但是需要重新的定义
7、预解释只发生在同一个脚本块中
var name = "china";
var age = 5000;
~function (name, age) {
//私有的name="china" age=5000;
name = "dog";//私有的name="dog"
age = 6;//私有的age=6
console.log(name + "===>" + age);
}(name, age);//把全局下的name和age的值给我们的私有作用域中的形参
console.log(name + "===>" + age);
var name = "china";
var age = 5000;
~function (name, age) {
name = "dog";
age = 6;
console.log(window.name + "===>" + window.age);//我想让他弹出china==>5000
}(name, age);
在私有作用域中如果想修改和使用全局的变量值,最简单的方式是加前缀window
jQuery实现的原理
(function () {
var jQuery = function () {
console.log("ok");
}
window.jQuery = window.$ = jQuery;
})();
jQuery();
$();
在私有作用域中定义的私有的变量和函数,我想在全局下使用
window.xxx
return xxx
标签:方式 turn 声明 重复 前缀 实现 ret 使用 function
原文地址:http://www.cnblogs.com/luke-/p/6193126.html