javascript原型函数未定义

时间:2017-08-26 23:10:08

标签: javascript function prototype

简单的代码,例如:

function Person(first, last) {
    this.firstName = first;
    this.lastName  = last;
}

Person.prototype.getFullName = function() {
    return this.firstName + " " + this.lastName;
};

如果我在文件中有这个并且它被加载到网页(任何浏览器),如果我在控制台中输入:

> p = new Person("Bob", "Smith");
> p.getFullName();

我得到:     未捕获的TypeError:p.getFullName不是函数

如果我将完全相同的行直接复制并粘贴到控制台中,则可以正常工作。它也适用于Node.js的第一次尝试。为什么getFullName的原始定义在从文件加载到浏览器时不显示为函数? (我已经尝试过Chrome和两个版本的Firefox。)

2 个答案:

答案 0 :(得分:0)

确保以正确的方式将script.js(例如)文件添加到.html中:

<body>
<script src="script.js"></script>
</body>

顺便说一下,代码在浏览器中使用node.js也很好。

答案 1 :(得分:0)

这很令人尴尬。我在我的文件中发现一个错误,导致js解释器没有显示错误消息。此处提供的代码与问题无关。谢谢大家。