当前位置:编程学习 > JAVA >>

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

[javascript] 
(function(){ 
    this.title="提示消息"; 
    this.show = function(){ 
    }; 
    this.close = function(){ 
    }; 
     
    message = this; 
}).(); 
以上代码的作用是,声明一个全局的唯一对象message,这里它声明了close(),由于块级作用域默认传进去的作用域是window,所以在执行了上述代码后,window.close()方法便会失去作用(但在IE9浏览器且IE9文档模式下照常可以工作,但在Chrome,及其它版本的IE下不行),修复此问题的方法是:www.zzzyk.com
[javascript] 
(function(){ 
    this.title="提示消息"; 
    this.show = function(){ 
    }; 
    this.close = function(){ 
    }; 
     
    message = this; 
}).call({}); //传一个对象进去,以改变默认的window作用域 
作者:bclz_vs
补充:web前端 , JavaScript ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,