构造函数可以返回什么值来避免返回 this ?

2024-05-28

确切的情况是什么?returnJavascript 中的语句可以返回除this当使用构造函数调用时new关键词?

Example:

function Foo () {
  return something;
}

var foo = new Foo ();

如果我没记错的话,如果something是一个非函数原语,this将被退回。否则something被返回。它是否正确?

换句话说,什么值可以something采取导致(new Foo () instanceof Foo) === false?


确切的条件描述在[[Construct]]内部属性,由new http://www.interglacial.com/javascript_spec/a-11.html#a-11.2.2操作员:

来自 ECMA-262 第 3 版。版本规格:

13.2.2 http://www.interglacial.com/javascript_spec/a-13.html#a-13.2 [[Construct]]

当。。。的时候[[Construct]]财产为Function object F是 调用后,采取以下步骤:

  1. 创建一个新的本机 ECMAScript 对象。
  2. Set the [[Class]] http://bclary.com/2004/11/07/#_Class_的财产Result(1) to "Object".
  3. 获取原型属性的值F.
  4. If Result(3)是一个对象,设置[[Prototype]] http://www.interglacial.com/javascript_spec/a-4.html#a-4.3.5的财产Result(1) to Result(3).
  5. If Result(3)不是一个对象,设置[[Prototype]] http://www.interglacial.com/javascript_spec/a-4.html#a-4.3.5的财产Result(1)到原来的Object原型对象为 描述于15.2.3.1 http://www.interglacial.com/javascript_spec/a-15.html#a-15.2.3.1.
  6. 调用[[Call]] http://bclary.com/2004/11/07/#a-13.2.1的财产F,提供Result(1) as the this值和 提供传入的参数列表[[Construct]]作为 参数值。
  7. If Type http://bclary.com/2004/11/07/#a-8(Result(6)) is Object然后返回Result(6).
  8. Return Result(1).

看步骤7和8,只有当 类型Result(6)(从返回的值F构造函数 函数)是not一个东西。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

构造函数可以返回什么值来避免返回 this ? 的相关文章

随机推荐

  • 名称和电子邮件在 Git 的每用户配置文件中设置,但 Git 仍使用默认生成的名称和电子邮件

    标题已经说了 但我会更彻底地解释一下 我已使用以下命令按照建议配置了用户名和电子邮件 git config global user name git config global user email 我可以通过执行以下操作来验证这是设置的g
  • 使用 Git 在线使用 TFS 的 Visual Studio 2013:自动保存文件签入

    我目前正在将 Visual Studio Premium 2013 Update 3 与 Team Foundation Server Online 结合使用并使用 Git 存储库 直到最近 我已经成功使用 Git Repo 几个月了 现在
  • Android Studio图形界面中的ViewFlipper切换?

    感谢您抽出时间并在有时间的情况下回答我的问题 我对 Android 编程相当陌生 所以任何帮助都很棒 我正在使用 Android Studio 并且编写了一个包含多个布局的 XML 布局 我可以在使用 ViewFlipper showNex
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r
  • 与仅调用依赖函数/类相比,在 FastAPI 中使用 Depends 有哪些优点?

    FastAPI 提供了way https fastapi tiangolo com tutorial dependencies 通过其自己的依赖关系解析机制来管理依赖关系 例如数据库连接 它类似于一个pytest夹具系统 简而言之 您在函数
  • 如何检查设备上是否安装了电子邮件客户端

    我需要检查设备上是否安装了电子邮件客户端 我使用了以下代码 但它对我不起作用 public boolean isIntentAvailable final PackageManager packageManager getApplicati
  • pyodbc 无法正确处理 unicode 数据

    我确实使用 pyodbc 成功连接了 MySQL 数据库 并且它可以很好地处理 ascii 编码的数据 但是当我打印使用 unicode utf8 编码的数据时 它引发了错误 UnicodeEncodeError ascii codec c
  • FragmentMap + ActionBar 选项卡

    我一直在尝试插入一个MapView进入一个ActionBar Tab 但我什至无法解决问题 即使谷歌搜索 这是主要活动 Override public void onCreate Bundle savedInstanceState supe
  • 如何获取视图到手机底部的距离?

    如果我在布局上有某个视图 ImageView 例如 是否可以找到View的下边框到手机屏幕底部的距离 Thanks instantiate DisplayMetrics DisplayMetrics dm new DisplayMetric
  • 如何从“gcloud”工具检索 App Engine 应用程序的源代码?

    我已迁移到新系统并丢失了 App Engine 应用程序的本地副本 愚蠢的是 我没有使用源代码管理 我知道我用过gcloud工具来检索我过去项目的源代码 但我似乎无法找到如何再次执行此操作 我发现的一切都指向如何使用appcfg py 其中
  • JQuery 设置动态最大宽度

    我不太擅长 jQuery 因此完整的代码解决方案将是理想的选择 该函数将 获取浏览器屏幕的 70 宽度 将该宽度转换为其相应的 px 值 设置最大宽度 mainContainer使用从转换 计算中获得的值 这是我要设置的容器的 CSS 样式
  • 在两个点之间创建一条曲线,每个点都具有标准化向量

    因此 我需要一种写入方法来在两点之间创建一条曲线 每个点都有一个指向任意方向的归一化向量 我一直在尝试设计这样一种方法 但一直无法理解数学 在这里 由于一张图片胜过一千个文字 这就是我所需要的 在图中 矢量垂直于红线 我相信向量需要进行相同
  • IE10 中的弹性盒

    我试图让弹性框在 IE10 中工作 但它不起作用 Safari Chrome 和 Firefox 工作正常 但 IE10 不工作 有人知道答案吗 代码笔 http codepen io anon pen vcEGH http codepen
  • iOS 上 Safari 中的 shift 键

    有没有办法在javascript中判断手机键盘上是否按下了shift键 并将其与大写锁定 按两次shift键 区分开来 一些事实 首先 让我们看一下有关 iOS 键盘的一些事实 我假设您已经知道了 当您进入键盘模式时 shift键始终处于激
  • FetchType.LAZY 不适用于休眠中的 @ManyToOne 映射

    简而言之 我的 Child 类与 Parent 类之间存在多对一的关系 我想加载所有的孩子 而不必加载他们的父母详细信息 我的孩子班级是 Entity public class Child implements Serializable I
  • AsyncTask的并行执行

    An 异步任务单击时执行 List
  • 无法 ACTION_VIEW 外部存储上的文件

    我的 Android 手机的外部存储中有一个文件 在本例中是模拟的 知道通往它的路径和 或拥有File代表它的对象 我如何使用Intent在适当的应用程序中打开它 我尝试的第一件事是 startActivity new Intent Int
  • RESTful 资源 - 接受对象列表

    我正在构建一个 RESTful 资源集合 其工作方式如下 我将使用 人 作为示例 GET people key returns a person object JSON GET people first name Bob returns a
  • Terraform 组合变量和字符串

    我正在尝试在 Terraform 中执行一项相当简单的任务 但它不起作用 tfvars hosted zone example com domain my var hosted zone 路线 53 记录 resource aws rout
  • 构造函数可以返回什么值来避免返回 this ?

    确切的情况是什么 returnJavascript 中的语句可以返回除this当使用构造函数调用时new关键词 Example function Foo return something var foo new Foo 如果我没记错的话 如