我是Javascript的新手。我使用对象初始化方法定义了一个对象。
var obj = { a : "A";
b : "B";
myFunc = function() {
alert("Hello"):
}
现在我想创建另一个将成为Obj
子对象的对象。我怎样才能做到这一点。
var obj1 = new obj();
无效。
答案 0 :(得分:2)
首先,您的语法错误
myFunc = function() { ...
无论如何,这就是你想要设置它的方式
function Foo() {
this.a = "A";
this.b = "B";
}
Foo.prototype.myFunc = function() {
alert("hello");
};
现在创建子对象
function Bar() {
Foo.call(this); // call parent constructor; optional
}
// setup child prototype
Bar.prototype = Object.create(Foo.prototype);
Bar.prototype.constructor = Bar;
检查出来
var b = new Bar();
b instanceof Bar; // true
b instanceof Foo; // true
b.constructor.name; // Bar
b.myFunc; // "hello"
答案 1 :(得分:1)
按照你想要的方式去做:
var obj = {
a: "A",
b: "B",
myFunc: function () {
alert("Hello");
}
};
var obj1 = Object.create(obj)
obj1.a = 2;
console.log(obj1);
console.log(obj);