gpt4 book ai didi

javascript - 根据特定条件创建对象

转载 作者:行者123 更新时间:2023-11-28 19:24:33 24 4
gpt4 key购买 nike

如何根据对象内部的特定条件在 Javascript 中创建一个对象。例如:

function User(email) {

this.email = email;

this.checkValid = function () {
// check email if not valid delete the object or return nothing
}

this.checkValid()

}

var user1 = new User("bob123@aol.com")

最佳答案

if not valid delete the object

不要。最好在尝试创建用户之前测试电子邮件地址是否有效。

or return nothing

你真的不能。从构造函数中返回任何内容实际上是完全不可能的,除非抛出异常。

使用额外的工厂函数:

function isValidEmail(str) {
// http://davidcel.is/blog/2012/09/06/stop-validating-email-addresses-with-regex/
return /.+@.+\..+/.test(str);
}
function User(email) {
// possible, but better don't do this:
// if (!isValidEmail(email)) throw new Error("Tried to create User with invalid email")
this.email = email;
}

User.prototype.checkValid = function () {
return isValidEmail(this.email);
};

User.create = function(email) {
if (isValidEmail(email))
return new User(email);
else
return null;
};

var user1 = User.create("bob123@aol.com")
if (user1)
this.checkValid() // true

关于javascript - 根据特定条件创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28129865/

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