我试图更好地掌握javascript类的内容和原因。具体来说,我试图理解将一个方法分配给一个原型和使用一个this.methodName =函数.构造函数中的语句。所以,我做了一个实验:
function CThis(){
this.method= function() {
console.log("method of ",this);
};
}
function CProto(){
}
CProto.prototype.method = function() {
console.log("method of ",this);
};
w
相对于JS和node (虽然我不认为这是节点重要的事实,但只是以防万一),但学习速度很快。这个问题可能比问它更详细,但我试图在这里包括一些关于我所做和不理解的事情的解释,以防这是有用的上下文。我怀疑我在这里遗漏了一些简单的东西..。
我有一个A类,有一堆(静态的,虽然我认为这不重要?)在里面起作用。他们都做非常具体的事情。我有另一个B类调用A中的函数,它基于所需的函数名和参数在B中的变量中。
我知道我可以这样做:
class A {
static doIt(theFunctionName, theArguments) {
if (theFunctionName == &
我在Angular.js模块中有一个对象声明:
$scope.test=function(){
};
$scope.test.prototype.push = function(data) {
return data;
};
我这样叫它:
var a = $scope.test.push(1);
console.error(a);
但我知道这个错误:
Error: undefined is not a function (evaluating '$scope.test.push(1)')
为什么我不能访问我通过Prototyp
编辑2016年1月:,因为这仍然引起人们的注意。自从提出这个问题以来,我已经完成了一些AngularJS项目,对于那些我主要使用factory的项目,我构建了一个对象并在最后返回了这个对象。然而,我在下面的发言仍然是正确的。
编辑: --我想我终于理解了两者之间的主要区别,我有一个代码示例要演示。我亦认为这个问题与建议的重复不同。复制说服务是不可实例化的,但是如果像我下面演示的那样设置它,它实际上是。服务可以设置为与工厂完全相同。我还将提供代码,以显示工厂在服务上出现故障的地方,而这似乎是没有其他答案的。
如果我像这样设置VaderService (作为服务):
var module = an