您的位置:首页 > Web前端 > JavaScript

[JavaScript]使用块级作用域声明对象时要注意的一个问题

2012-07-12 13:53 513 查看
(function(){
	this.title="提示消息";
	this.show = function(){
	};
	this.close = function(){
	};
	
	message = this;
}).();
以上代码的作用是,声明一个全局的唯一对象message,这里它声明了close(),由于块级作用域默认传进去的作用域是window,所以在执行了上述代码后,window.close()方法便会失去作用(但在IE9浏览器且IE9文档模式下照常可以工作,但在Chrome,及其它版本的IE下不行),修复此问题的方法是:
(function(){
	this.title="提示消息";
	this.show = function(){
	};
	this.close = function(){
	};
	
	message = this;
}).call({}); //传一个对象进去,以改变默认的window作用域


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐