我有一个问题:我想知道是否可以模拟多个构造函数,就像在Java中一样(是的,我知道语言是完全不同的)?
假设我有一个叫做"Point"的类,它有两个值"x"和"y".
现在,假设它是Java版本,我想要两个构造函数:一个接受两个数字,另一个接受一个字符串:
public class Point {
private int x;
private int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public Point(String coord) {
this.x = coord.charAt(0);
this.y = coord.charAt(1);
}
//...
}
//In JavaScript, so far I have
Point = function() {
var x;
var y;
//...
}
Run Code Online (Sandbox Code Playgroud)
是否可以为Point.prototype.init提供两个声明?甚至可以在JavaScript中使用多个构造函数吗?
javascript对象是基于值还是基于参考?例如:
obj1.list =new array();
// ------ populate list
obj2.list = obj1.list
Run Code Online (Sandbox Code Playgroud)
浏览器是否为obj2.list制作了obj1.list的不同副本,或者obj2.list只是对obj1.list的引用?
javascript ×2