我在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
假设我定义了2个构造函数和一个成员函数
function A() {}
function B() {}
A.prototype.a = function(){}
我已经实例化了一个B。如何强制转换使其成为A
o = new B();
//What should I put here?
o.a();
我是js的新手。我有一种感觉,上面提到的o是A还是B仅仅是由对prototype的引用控制的。因此,我觉得类型转换应该是可能的。
欢迎回答,以及能帮助我理解js对象的解释。
我试图更好地掌握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的extend函数:
function extend(parent, child) {
var F = new Function();
F.prototype = parent.prototype;
child.prototype = new F();
//child.prototype.constructor = Child
}
我已经注释掉了重写构造函数属性的行。如果我以下列方式创建对象:
var p = function p() {this.parent = true};
var c = function c() {this.child
我正在学习js原型,我想知道下面两个部分之间是否有什么不同?
Segment1:
function SuperType(){
this.color=["blue","yellow"];
}
function SubType(){
}
Subtype.prototype = new SuperType();
Segment2
function SuperType(){
this.color=["blue","yellow"];
}
function SubType(){
SuperType
我需要获取构造函数中的所有函数名,不包括指定的函数。
var MyObject = function (arg1, arg2) {
this.arg1 = arg1;
this.arg2 = arg2;
// Get all functions, i.e. 'foo', excluding 'arg1' and 'arg2'
};
MyObject.prototype.foo = function() {}
我用过Underscore.js,没有运气。假设实际参数都是函数:
var MyObject = functio
我正在学习一些JS,我希望有人能用简单的术语向我解释Object.getPrototypeOf()与.prototype之间的区别。
function ParentClass() {}
function ChildClass() {}
ChildClass.prototype = new ParentClass();
var mychild = new ChildClass();
var myparent = new ParentClass();
# .getPrototypeOf
Object.getPrototypeOf(ChildClass.prototype) // Pa
var Person = function(name){
this.name = name;
this.sayName = function () {
console.log("My Name is "+ this.name);
}
}
var nitin = new Person("Nitin");
nitin.sayName(); // My Name is Nitin
// Codebreak
var Person = function(name){
this.name = name;
}
Pe
我是第一次用揭示原型的模式编写javascript代码。我有麻烦了。当我调用add函数时,当用户单击add按钮时,它会在控制台中显示此错误。
Uncaught TypeError: Cannot call method 'add' of undefined
我该如何解决这个问题?
这是我的script.js代码
$(function () {
var todo = Todo('contents');
$('.addBtn').on('click', function() {
var name = $(this).pare
我正在通过JS的好的部分,并来到这个例子。在最后一行中,我尝试调用在sum函数的原型链中定义的方法。我搞不懂为什么这不起作用。
定义sum函数:
var sum = function(){
var i, sum=0;
for(i=0;i<arguments.length;i+=1){
sum += arguments[i];
}
return sum;
}
将方法方法添加到函数原型中
Function.prototype.method = function(name, func){
this.prototype.name = fun