javascript 全局变量污染?

<!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>


慕尼黑8549860
浏览 343回答 3
3回答

ibeautiful

&nbsp; &nbsp; <input type="button" id="btn_a" value="A" name="">&nbsp; &nbsp; <script type="text/javascript">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; (function(){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var btn = document.getElementById('btn_a')&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; btn.addEventListener('click',function(){alert('A')}&nbsp; &nbsp; &nbsp; &nbsp; }());&nbsp; &nbsp; </script>

萧十郎

用js去绑定事件

UYOU

直接写Contract.A就行,或者window.Contract.A,全局作用域用var声明的变量同样作为全局对象window的属性
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript