日期:2014-05-16 浏览次数:20527 次
<script type="text/javascript">
(function () {
var D = Dealer = {};
D.fn = {
test: function () {
alert('1');
}
};
})();
//为什么 Dealer可以访问
Dealer.fn.test();
//D却不行
//D.fn.test();
// D = Dealer = {}; 这个不是赋值的意思?Dealer这个对象为什么会暴露了?
</script>
var Dealer = 1;
(function(){
var D = Dealer = 2;
})()
alert(Dealer);//2
------解决方案--------------------
var D = Dealer = {};
是赋值,但变量Dealer未声明,于是变成全局变量,所以函数外也能访问。
var D, Dealer;
D = Dealer = {};
就OK了
------解决方案--------------------
js没有作用域块,只有函数级别的作用域
------解决方案--------------------
(function(){
var d = Defer = {};
)()