javascript - 对面向对象的javascript的困惑

标签 javascript oop

我在 javascript 中练习面向对象的语法,但遇到了一些问题。这是我的代码:

<html>
<head>
     <script type="text/javascript">
          function Name(first,mid,last) {
               this.first = first;
               this.middle = mid;
               this.last = last;
          }
          Name.prototype.fullname = function () {
               return this.first + " " + this.middle + " " + this.last;
          }
          Name.prototype.fullnamereversed = function() {
               return this.last + " " + this.middle + " " + this.first;
          }
          var s = new Name("James","Harlow","Smith")
</script>
</head>
<body>
     <script type="text/javascript">
          document.body.innerHTML = s.fullname;
          document.body.innerHTML = s.fullnamereversed;
     </script>
</body>
</html>

当我加载页面时,body 的 innerHTML 是 Name.protoype ("function ()... this.first + this.middle + this.last...") 的确切文本。我在这里做错了什么?

最佳答案

您需要使用 () 运算符调用函数:

document.body.innerHtml = s.fullname();

关于javascript - 对面向对象的javascript的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6916486/

相关文章:

javascript - 如何使用 NodeJS 将 2 个 XLSX 文件合并为一个

javascript - 如何在单击现有 html 表格行时显示隐藏的表格行?

javascript - 在特定 Node 版本上运行应用程序

java - 如果 OOP 为空,如何设置位置

javascript - JS OOP 和强制覆盖

javascript - 如果没有选择单选按钮,如何修复警报?

javascript - 在 jquery 小部件中使用 grep 时, "this"的范围发生变化

java - 不要在子类的构造函数中创建父类(super class)实例,但完全合法

c++ - 对象成员变量还是继承?

Java 对象模型和类型识别方法