为了账号安全,请及时绑定邮箱和手机立即绑定

javascript 全局变量污染?

javascript 全局变量污染?

慕尼黑8549860 2019-03-21 22:19:13
<!DOCTYPE html><html><head>    <title></title>    <script type="text/javascript" src="js/jquery-1.7.1.js"></script></head><body>    <!-- 这个onclick="A()";是挂载在window对象下的 -->    <input type="button" onclick="A()" value="A" name="">    <!-- 假设这个js文件是外部引用进来的 -->    <script type="text/javascript">        //为了避免在window对象下不小心写两个A(),在一个大文件中命名重复很有可能发生,所以我在js代码里把A挂载在Contract下,也就是window.Contract.A        var Contract = {};        (function(con){            con.A = function(){                alert("A");            }        }(Contract));        //怎么让这个点击事件生效呢? 除非Contract是window对象的原型? 还是这样根本就行不通?    </script></body></html>
查看完整描述

3 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

    <input type="button" id="btn_a" value="A" name="">

    <script type="text/javascript">

        

        (function(){

            var btn = document.getElementById('btn_a')

            btn.addEventListener('click',function(){alert('A')}

        }());

    </script>


查看完整回答
反对 回复 2019-04-15
?
萧十郎

TA贡献1815条经验 获得超13个赞

用js去绑定事件


查看完整回答
反对 回复 2019-04-15
?
UYOU

TA贡献1878条经验 获得超4个赞

直接写Contract.A就行,或者window.Contract.A,全局作用域用var声明的变量同样作为全局对象window的属性


查看完整回答
反对 回复 2019-04-15
  • 3 回答
  • 0 关注
  • 342 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信