我在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
我看到了著名的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
我一直在跟踪曼努埃尔·泰希拉( Manuel )的Node.js,我偶然发现了这个奇怪的行为,当时我正在浏览事件发射器一章。
作者建议的代码由如下内容组成:
var EventEmitter = require("events").EventEmitter;
var util = require ("util");
var MyClass = function() {};
util.inherits(MyClass, EventEmitter);
var instance = new MyClass();
instance.on("custom"
我试图更好地掌握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中创建继承模式时,如下所示-
var Fruits = function(){};
var Apples = function(){};
Apples.prototype = new Fruits;
Apples.prototype.constructor = Apples;
为什么我们要改变基类的构造函数呢?
我现在正在学习JS的继承,有些东西我不清楚。考虑以下代码:
function Mammal(pName){
var name = pName; //"private" variable name
this.getName = function(){ //return name via closure
return name;
}
this.mammalStuff = function(){
console.log("im a mammal!!");
}
}
Mammal.prototype.
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
假设我定义了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对象的解释。
我正在学习一些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
我一直试图在JS中找出这个错误,并且无法理解为什么会发生这种错误。程序应该从person对象继承属性,并添加两个附加属性,sID和courses。然后,for循环将用户输入的值(至少为5)推送到属性中。但是,我遇到的问题是,一旦它到达了courses属性(这是一个数组),我就会一直收到一个错误,说明课程是未定义的。任何帮助都是非常感谢的。
// person object
var person = { firstname: "", lastname: "", email: "" };
var student = {};
student.
我尝试了两种在JS中声明成员函数的方法:
function init() {
var name = "Mozilla";
function displayName() {
alert(name);
}
}
a = new init();
a.displayName()
和
function init() {
var name = "Mozilla";
displayName = function() {
alert(name);
}
}
a = new init();
a.displ
是的,以前有人问过这个问题,但是 为我工作。
在调用TypeError: Config is not a constructor构造函数时,我将得到一个Config。通过其他这样的问题和,这个错误的常见原因似乎要么是隐藏构造函数,要么是调用不可调用的类型,但在我的项目中这两个都没有签出。
这就是号召:
var Server = require("./server.js").Server;
var Config = require("./config.js").Config;
new Server(new Config("app/config.json
我需要获取构造函数中的所有函数名,不包括指定的函数。
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
例如,如果我在我的应用程序中使用prototype.js,该库使用一些额外的东西扩展对象原型,例如:
// the code is not exactly like this but that doesnt matter
Object.prototype.inspect = function...
当我创建某个对象时,该对象从未拥有“correct”属性,这当然是正确的:
// false
{}.hasOwnProperty('inspect');
如果我像这样创建一个对象文字,通过这个对象文字创建的属性是ownproperties,这当然也是正确的:
var myObj =