【问题标题】:Can someone help me out with why my object in javascript isn't being created?有人可以帮我解决为什么我的javascript对象没有被创建吗?
【发布时间】:2017-01-19 04:50:10
【问题描述】:

我似乎总是收到 JS lint 的错误,告诉我它无法完成。我已经包含了下面的脚本。有人可以告诉我为什么它不起作用吗?我是 javascript 的新手,我正在努力跟上速度,但我遇到了问题。

<!Doctype html> doctype html
<head><br>head<br>script type="text/javascript" 
<script type="text/javascript"><br>
function President (name, number)<br>{
President.name = Obama;<br>
President.number = 44;<br>
President.name2 = Bush;<br>
President.number2 = 43;<br>
}

Var Obama = new President {"Barack H. Obama", 44};<br>
Var Bush = new President {"George W Bush", 43};<br>
</script>
</head>

/body tag<body>
<script type="text/javascript">
document.write(President.name + "loves" President.name2 + " because he is cool and is the " <br>

President.number2 " of the US ");
</script>
</body>
</html>

【问题讨论】:

  • 为什么 JavaScript 代码中有 HTML?
  • 你使用OO JavaScript是错误的。
  • 您的 HTML 和 JavaScript 有很多错误。我什至不知道从哪里开始……
  • 从哪里开始...
  • 嗯,这就是我想要弄清楚的。我显然遇到了问题。

标签: javascript html


【解决方案1】:

你有很多错误。参见 js fiddle here

首先,您的 javascript 中不能有 &lt;br&gt;。这是html

另一件事是当您调用一个函数时,您需要使用() 而不是{} - 例如new President("Barack H. Obama", 44);

President 函数中,您应该使用this 来引用函数中的变量。即this.name = name;

定义变量时需要使用小写的var

您已使用两个参数定义 President - 名称和编号。

function President (name, number){...}

那么当您创建新总统时,您传递的两个参数是 "Barack H. Obama"44

new President("Barack H. Obama", 44);

function President(name, number) {
  this.name = name;
  this.number = number;
}

var Obama = new President("Barack H. Obama", 44);
var Bush = new President("George W Bush", 43);

alert(Obama.name + " loves " + Bush.name + " because he is cool and is the " + Obama.number + " of the US");

【讨论】:

    【解决方案2】:

    此代码 sn-p 存在许多语法问题。要得到你想要得到的东西,你需要做:

    <!DOCTYPE html>
    <html>
    <head>
    <script type="text/javascript">
    function President (name, number){
        President.name = name;
        President.number = number;
    }
    
    var Obama = new President("Barack H. Obama", 44);
    var Bush = new President("George W Bush", 43);
    </script>
    </head>
    
    <body>
    <script type="text/javascript">
    document.write(Obama.name + "loves" + Bush.name + " because he is cool and is the " + Obama.number " president of the US ");
    </script>
    </body>
    </html>
    

    我们不会在 JavaScript 中使用 &lt;br&gt; 和其他 HTML 标记。

    另外,我们使用 () 来调用函数:

    var Obama = new President("Barack H. Obama", 44);
    var Bush = new President("George W Bush", 43);
    

    另外,我们需要使用原型上的键,并使用我们传入的值:

    function President (name, number){
        President.name = name;
        President.number = number;
    }
    

    【讨论】:

      【解决方案3】:

      &lt;br&gt;标签可以用javascript实现如下:

      var mybr = document.createElement('br');
      someElement.appendChild(mybr);
      

      【讨论】:

        猜你喜欢
        • 2021-05-30
        • 2011-12-11
        • 1970-01-01
        • 1970-01-01
        • 2021-07-10
        • 2021-09-18
        • 2018-05-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多