我正在尝试为AngularJS应用程序创建模型层。使用函数创建对象有很好的建议https://medium.com/opinionated-angularjs/angular-model-objects-with-javascript-classes-2e6a067c73bc#.3bjnrxun1:
function User(firstName, lastName, role, organisation) {
// Public properties, assigned to the instance ('this')
this.firstName = firstName;
this.lastName = lastName;
this.role = role;
this.organisation = organisation;
}
我要做的是创建没有参数的默认构造函数,例如
function User() {
// Public properties, assigned to the instance ('this')
this.id = getNewId(); //special function that retrieves sequence from database
this.firstName = '';
this.lastName = '';
this.role = '';
this.organisation = getDefaultOrganization();
}
我想这很好,它应该有效。但我对代码这个感到不安。第一名='&#39 ;;我很乐意声明字段并让JavaScript运行时分配JavaScript类型提供的任何默认值。
如果存在并使用AngularJS模型框架而不是为自己创建,我会更加讨厌。我已经看过BreezeJS,但我怀疑是因为两个方面。首先 - 他们的网页有点奇怪(虽然它包含很多好的文档)并且它没有提供关于强大的社区和蓬勃发展的项目的印象。第二 - 我使用Laravel作为后端,目前似乎没有对Laravel的支持。
答案 0 :(得分:1)
你可以使用未来的ecma脚本 https://developer.mozilla.org/pl/docs/Web/JavaScript/Reference/Functions/Default_parameters 没有socond功能或
function User(firstName, lastName, role, organisation) {
// Public properties, assigned to the instance ('this')
this.firstName = firstName||"Lorem";
this.lastName = lastName||"ipsum";
...
}