码迷,mamicode.com
首页 > 其他好文 > 详细

预解释深入

时间:2016-12-18 12:32:57      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:方式   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!