Javascript 新运算符

标签 javascript

我是基于 OOP 的 JavaScript 的新手。出于测试目的,我创建了以下代码片段。我创建了四个按钮,单击每个按钮时它将具有不同的功能。当我第一次单击任何按钮时,它会给出预测结果。第二次单击任何按钮时,出现以下错误:

classFunction = new classFunction();

我使用的代码如下:

<html>
  <head>
    <script type="text/javascript">
      var classFunction;

      function classFunction() {
        this.publicVariable = 'Public Varibale';
        var privateVariable = 'Private Variable';

        this.publicMethod = function () {
          alert('Public Method');
        }

        function privateMethod() {
          alert('private Method');
        }

        return this;
      }

      function privateVariable() {
        classFunction = new classFunction();
        alert(classFunction.privateVariable);
      }

      function publicvariable() {
        classFunction = new classFunction();
        alert(classFunction.publicVariable);
      }

      function privateFunction() {
        classFunction = new classFunction();
        classFunction.privateMethod();
      }

      function publicFunction() {
        classFunction = new classFunction();
        classFunction.publicMethod();
      }
    </script>
  </head>

  <body>
    <input type="button" value="Private Variable" onclick="privateVariable()" />
    <input type="button" value="Public Variable" onclick="publicvariable()" />
    <input type="button" value="Private Function" onclick="privateFunction()" />
    <input type="button" value="Public Function" onclick="publicFunction()" />
  </body>
</html>

新运营商有什么理由不会第二次工作吗?

最佳答案

原因是因为你的变量名和构造函数名相同。因此,当您第一次创建新实例并将其分配给变量时,类会被实例覆盖。

确保您以不同的方式命名以下内容。

var classFunction; 
function classFunction()

关于Javascript 新运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11667765/

相关文章:

javascript - 限制 JavaScript 附加到 dom

javascript - 在 ReactJS 的 .env 文件中声明的变量,NextJS 应用程序未定义

php - Jquery文件上传隐藏IFrame

javascript - Performance & "Better Practice": with statement vs. 带一堆参数的函数

javascript - Less less.modifyVars 在 Visual Studio 中不起作用?

JavaScript:动态给定字段数组对对象数组进行排序

javascript - greasemonkey 用户脚本中的 jQuery.getJSON

javascript - SailsJS 和 MongoDB 聚合框架与自定义查询有关的问题

javascript - 使用 laravel 验证后,ajax 上的成功函数

javascript - Node JS Puppeteer headful 浏览器无法启动