心累!大家帮我看看这个,谢谢!

陌上花开__可缓缓归矣 2017-01-24 02:40:42
在看js类式继承,学下面链接中的第一段代码就报错
原英文链接如下:http://javascript.crockford.com/inheritance.html
翻译后的链接:http://www.codeweblog.com/javascript%E4%B8%AD%E7%9A%84%E7%B1%BB%E7%BB%A7%E6%89%BF/

<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>Example</title>
<script>
function Parenizor(value) {
this.setValue(value);
}

Parenizor.method('setValue', function (value) {
this.value = value;
return this;
});

Parenizor.method('getValue', function () {
return this.value;
});

Parenizor.method('toString', function () {
return '(' + this.getValue() + ')';
});
</script>
</head>
<body>

</body>

会报这个错误 Uncaught TypeError: Parenizor.method is not a function
...全文
66 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 xia9426464 的回复:
我也是这样认为呀! 可是写这段代码的是javascript语言精粹的作者,他下面写又用到了prototype,所以就很迷惑了。
你有读其他的文章没?可能是一系列的文章,前面的文章给Function增加了method这个方法什么的,你没有看到,没有导入method扩展导致报错什么的。如下面的扩展了Function的原型增加method方法 Function.prototype.method = function (funcName, func) { this.prototype[funcName] = func; } function Parenizor(value) { this.setValue(value); } Parenizor.method('setValue', function (value) { this.value = value; return this; }); Parenizor.method('getValue', function () { return this.value; }); Parenizor.method('toString', function () { return '(' + this.getValue() + ')'; }); var p = new Parenizor(33);alert(p.toString())
  • 打赏
  • 举报
回复
我也是这样认为呀! 可是写这段代码的是javascript语言精粹的作者,他下面写又用到了prototype,所以就很迷惑了。
  • 打赏
  • 举报
回复
示例有问题,函数没有method方法,js继承都是通过原型来做的多

    function Parenizor(value) {
        this.setValue(value);
    }

    Parenizor.prototype.setValue = function (value) {
        this.value = value;
        return this;
    };

    Parenizor.prototype.getValue= function () {
        return this.value;
    };

    Parenizor.prototype.toString=function () {
        return '(' + this.getValue() + ')';
    };
    var p = new Parenizor(123);
    alert(p.toString())

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧