是否有可能在JAVASCRIPT中创建全局变量?

这个问题在这里已经有了答案:

  • 在JavaScript函数中定义全局变量11个答案

  • 在全球范围内(又称“窗口”),变量是全球性的。

    看一下这个:

    //this is global because it is in the global scope (the window)
    var foo = 'stuff';
    //because it is global (window) you can also access it like this:
    console.log(window.foo); //'stuff'
    

    现在你可以在任何地方访问foo 。 值得注意的是全局变量不是最佳实践 - 所以请查看面向对象编程(SOLID原则)。

    如果你在另一个范围内(比如一个函数)并且不使用var关键字来创建一个变量,那么这个变量将是全局变量:

    function someFunction() {
      someVariable = 'stuff'; //this created a global variable! (or references an existing one)
      //you could also assign it to window:
      window.someVariable = 'stuff';
      //both are the same thing!
    }
    

    内联js(onclick在你的html中)不是一个好习惯。 相反,您可以按照最佳做法并使用JavaScript注册点击事件:

    //get reference to button
    var myBtn = document.getElementById('myBtn');
    
    //add click function
    myBtn.addEventListener('click', function(event) {
      myFunction();
    });
    
    function myFunction() {
      console.log(foo); //'stuff' 
    }
    

    下面是所有这些的演示:http://jsbin.com/OmUBECaw/1/edit

    请注意,在加载到dom后,您需要获取元素引用。 最好的做法是将脚本包含在身体结束之前而不是头部,如下所示:

      <!-- scripts here! -->
      <script></script>
    </body>
    

    如果您必须将脚本保留在head ,那么您需要将JavaScript代码放在一个函数中以运行窗口的加载:

    window.addEventListener('load', function() {
      //code here!
    });
    

    在你的例子中,客户是一个全局变量。 你应该能够做到以下几点:

    <button onclick="changeID(customer)">Add One to Customer ID</button>
    

    你可以简单地将其内联。 但是随着你的逻辑变得越来越复杂,最终将事件处理分解为头文件也是有意义的。

    你可以绑定到window.onload事件,然后找到你的按钮元素(最好通过在元素上使用一个id),然后绑定一个onlcick事件,它将发送参数。

    <html>
    <script src="js/custForATM.js"></script>
    <script src="js/ATM.js"></script>   
    <script type="text/javascript">
        var customer = new CustomersATM("300321758","1234","Eric");
        window.onload = function(){
         document.getElementById("changeId").onclick = function(){
          changeID(customer);
         };
        };
    </script>
    <body>
     <button id="changeId">Add One to Customer ID</button>
    </body>
    </html>
    
    链接地址: http://www.djcxy.com/p/95019.html

    上一篇: Is it possible to make global Variable in JAVASCRIPT?

    下一篇: How to make a local variable into Global? JavaScript