首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript - classes

Javascript - classes
EN

Stack Overflow用户
提问于 2016-07-10 09:56:36
回答 0查看 96关注 0票数 1
代码语言:javascript
复制
function Person(name) {
    this.name = name;
    return this;
}

var someone = new Person('someone');
console.log(someone.name);

var someoneelse = Person('someoneelse');
console.log(someoneelse.name);

这是一个实现构造函数(类)的好模式。无论是使用new还是不使用new,这都可以很好地工作。

更新:我想我得到了我想要的答案。在不使用'new‘的情况下使用它将返回一个全局对象和一个非常糟糕的想法(这要归功于Vohuman的评论:“不使用new,构造函数中的this是全局对象,而不是构造函数的实例”)

更多更新:以正确的方式处理新的和没有新的,

代码语言:javascript
复制
function Person(name) {
   if (this instanceof Person) {
      this.name = name;
   }
   else {
      return new Person(name);
   }
};
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38287906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档