Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExpressJS-通过.prototype全局添加功能?_Javascript_Node.js_Express_Knockout.js - Fatal编程技术网

Javascript ExpressJS-通过.prototype全局添加功能?

Javascript ExpressJS-通过.prototype全局添加功能?,javascript,node.js,express,knockout.js,Javascript,Node.js,Express,Knockout.js,好的,我想让你理解这个想法——因为也许有更好的解决方案: 我为expressJS和它的渲染引擎jade创建了一些模型。 但因为它们是JS模型,所以我想在客户端使用它们:作为淘汰版JS模型 为此,每个模型有2个功能:enableKO和disableKO功能。 到目前为止,还不错:但是现在我尝试使用一些我想在服务器端和客户机上使用的逻辑 为了获得这些值——无论它们是默认JS对象还是敲除对象,我添加了两个函数: Function.prototype.getValue = function() { re

好的,我想让你理解这个想法——因为也许有更好的解决方案:

我为expressJS和它的渲染引擎jade创建了一些模型。 但因为它们是JS模型,所以我想在客户端使用它们:作为淘汰版JS模型

为此,每个模型有2个功能:enableKO和disableKO功能。 到目前为止,还不错:但是现在我尝试使用一些我想在服务器端和客户机上使用的逻辑

为了获得这些值——无论它们是默认JS对象还是敲除对象,我添加了两个函数:

Function.prototype.getValue = function() { return this(); }
Object.prototype.getValue = function() { return this; }
现在我可以调用model.value.getValue(),从理论上得到我要寻找的值。
如果我真的调用这个函数,我得到的错误是“500 RangeError:Maximum call stack size Excelled”,这几乎毫无价值

我在app.js-file以及客户端将调用的js文件中定义了这两个函数

这就是我提出问题的原因:还是有更好的方法实现我的目标?
谢谢

永远不要用可枚举属性扩展对象。原型。好吧,那我该怎么做?