自动实例化对象

Posted qujun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动实例化对象相关的知识,希望对你有一定的参考价值。

我们知道判断一个对象是否是由构造函数实例化出来的,可以用 instanceof关键字来判断

instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。

所以如果直接调用一个构造函数 我们可以以此来判断它不是new出来的对象。

function Router() {
  if (!(this instanceof Router)) {
    return "请使用new关键字"
  }}

那如果需要直接调用,不用new 关键字的话 是否也可以实例化一个对象出来呢?当然可以!

function Router() {
  if (!(this instanceof Router)) {
    return new Router()
  }}

好吧,就是这么简单

以上是关于自动实例化对象的主要内容,如果未能解决你的问题,请参考以下文章

自动实例化对象

NPE,同时访问实例化和构造函数配置的不可变对象的原始类型(双精度)。 (不涉及自动装箱或反射)

启用 Proguard 后无法实例化片段

Android - 试图实例化一个不是片段的类

java 动态片段实例化

java 片段实例化器