gpt4 book ai didi

javascript - javascript中的多个构造函数

转载 作者:可可西里 更新时间:2023-11-01 02:02:28 24 4
gpt4 key购买 nike

我有一个问题:我想知道是否可以模拟多个构造函数,就像在 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;
//...
}

Point.prototype.init 可以有两个声明吗?JavaScript 中甚至可以有多个构造函数吗?

最佳答案

您可以通过测试参数的数量或参数的类型在 javascript 中执行此操作。

在这种情况下,您可以通过测试参数的数量来实现:

function Point(/* x,y | coord */) {
if (arguments.length == 2) {
var x = arguments[0];
var y = arguments[1];
// do something with x and y
} else {
var coord = arguments[0];
// do something with coord
}
}

关于javascript - javascript中的多个构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7481988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com