JavaScript 原型(prototype)编程

标签 javascript prototype

我正在尝试将一些命名空间包含到我的 Javascript API 中。

这是我到目前为止所拥有的:

if (!Sample || Sample == "undefined")
    var Sample = {};

Sample.SomeApi = {};

Sample.SomeApi.prototype = {
    SomeMethod: function() {
        alert('some api');
    }
};

这是怎么回事?

当我调用 Sample.SomeApi.SomeMethod();//它不会工作,因为它会提示:

Uncaught TypeError: Object #<Object> has no method 'SomeMethod'
(anonymous function)Course:43
onclick

最佳答案

我认为你的意思是 __proto__ 而不是 prototype,如下所示:

if (!Sample || Sample == "undefined")
    var Sample = {};

Sample.SomeApi = {};

Sample.SomeApi.__proto__ = {
    SomeMethod: function() {
        alert('some api');
    }
};

Sample.SomeApi.SomeMethod();

你可以在这个jsFiddle中测试一下:http://jsfiddle.net/luisperezphd/xtyyf/

但为什么不只是这个:

if (!Sample || Sample == "undefined")
    var Sample = {};

Sample.SomeApi = {
    SomeMethod: function() {
        alert('some api');
    }
};

Sample.SomeApi.SomeMethod();

干净多了。

还有 jsFiddle:http://jsfiddle.net/luisperezphd/HUuMQ/

关于JavaScript 原型(prototype)编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8799045/

相关文章:

javascript - John Resig 简单继承属性的奇怪问题

javascript - 如何让一个对象继承其原型(prototype)中的两个对象?

javascript - 函数对象原型(prototype)

javascript - 在javascript中使用原型(prototype)

javascript - 使用 Internet Explorer 进行调试

javascript - 下拉菜单在某些页面上不起作用

javascript - 使用 Chart.js 自定义标签

javascript - jQuery UI Accordion 不适用于 HTML 模板

javascript - 无法从 iframe 中找到 FileHiddenName

javascript:从字符串调用对象中的方法