我不知道对象(这个)意味着

2023-12-10

In https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/fill

有一条线像

// Steps 1-2.
if (this == null) {
  throw new TypeError('this is null or not defined');
}

var O = Object(this);          // <- WHAT IS THIS???????????

// Steps 3-5.
var len = O.length >>> 0;

// Steps 6-7.
var start = arguments[1];
var relativeStart = start >> 0;

// Step 8.
var k = relativeStart < 0 ?
  Math.max(len + relativeStart, 0) :
  Math.min(relativeStart, len);

// Steps 9-10.
var end = arguments[2];
var relativeEnd = end === undefined ?
  len : end >> 0;

// Step 11.
var final = relativeEnd < 0 ?
  Math.max(len + relativeEnd, 0) :
  Math.min(relativeEnd, len);

// Step 12.
while (k < final) {
  O[k] = value;
  k++;
}

// Step 13.
return O;

我找不到将 O 指定为 Object(this) 的任何必要性。

它只是为了可读性而编写还是有任何特定的分配原因?


正如代码注释中所建议的,本节将准确地填充记录在中的第一个步骤the spec.

  1. 设 O 为 ToObject(该值)。
  2. 如果突然返回(O)。

虽然有点乱序,但这正在执行以下功能ToObject(this value):

var O = Object(this);

基本上,如果在非对象上调用它,则非对象应该转换为Object.

例如,如果我们要在原生支持此方法的 JavaScript 引擎中运行这段大部分无意义的代码,我们会看到Number返回对象实例。

Array.prototype.fill.call(123);

该行将确保 Polyfill 获得相同的结果。

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

我不知道对象(这个)意味着 的相关文章

随机推荐

  • WordPress 中的动态简码和函数

    我在基于数据库条目自动生成短代码方面遇到了一些问题 我能够使正常的简码工作 即 function route sc5 return div Route 5 div add shortcode route 5 route sc 和以下激活它的
  • OpenCV Android Studio模块导入问题

    我正在尝试将 OpenCV 导入到 android studio 项目 但 下一步 和 完成 按钮处于非活动状态 所以我无法完成 OpenCV 导入 使用Android Studio Arctic Fox 2020 3 1并尝试了不同版本的
  • 在背景中开始和停止音乐

    我正在制作一个游戏 里面有背景音乐 我想添加一个启动和停止音乐的静音按钮 但我不知道该怎么做 创作音乐的方法是 public static void backgroundMusic try AudioInputStream audio Au
  • PHP 解析错误:语法错误,意外的 T_OBJECT_OPERATOR

    我在调试代码时遇到此错误 PHP 解析错误 语法错误 order php 第 72 行出现意外的 T OBJECT OPERATOR 以下是代码片段 从第 72 行开始 purchaseOrder new PurchaseOrderFact
  • Excel csv 文件中的字符串 (123)

    我正在创建 csv 文件以导入 Excel 有些值是字符串 123 我需要它们显示为 123 Excel 将它们显示为 123 我可以将哪些字符添加到 123 以使 Excel 将它们显示为 123 而无需导入后手动格式化 尝试过双引号 没
  • 如何传递 jenkins 的凭据以将 docker 映像推送到我自己的注册表?

    JHipster 现在使用 maven jib plugin 在此之前 我在 docker container 中运行的 jenkins 服务器能够使用 war 文件构建 docker 映像 并使用 Jenkinsfile 对于 gradl
  • ServiceStack 上的 Html5 Pushstate 网址

    目前 我们在 ServiceStack 根目录中使用 default cshtml 视图来为我们的 AngularJS 单页应用程序提供服务 我想做的是启用对 html5 Pushstate 的支持 因此 URL 中没有哈希值 但到目前为止
  • 如何在 React Native 项目中重新生成 ios 文件夹?

    所以不久前我删除了我的 React Native 应用程序中的 ios 目录 我们称之为 X 我一直在使用 android 模拟器进行开发和测试 但现在我想确保它可以在 ios 上使用 xcode 模拟器等运行 所以我当前的想法是使用 io
  • org.apache.commons.compress.archivers.zip.ZipFile$1 类的 flink InputStream 未实现 InputStreamStatistics

    我试图将 Excel 加载到 Flink 程序中的 POI 工作簿中 有这样的错误 引起原因 java lang IllegalArgumentException 类org apache commons compress archivers
  • Firefox 无法在 iframe 中加载本地文件

    我有一个文件 文件 C Users 7 20Legged 20Spider Desktop test html 当我将它设置到 iframe 中时 iframe 是空白的 为什么会这样以及如何修复它 这是因为安全问题 你无论如何都无法绕过它
  • Android 类未找到异常

    我的一个应用程序遇到问题 我想知道是否有人可以让我深入了解可能导致该问题的原因 我得到了类未找到异常 下面重要的一行是 E AndroidRuntime 21982 Caused by java lang ClassNotFoundExce
  • 在R中,如何根据列表自动绘图?

    我有两个产品类别的调查结果 这是数据 surveyresults lt data frame Name c Adam John Gender c m m City c Sydney Melbourne Product c Fashion E
  • PHPcurl 错误:“连接到...时出现未知的 SSL 协议错误”

    我在 PHP 卷曲方面遇到了极大的困难 我正在尝试打开一个网站 https www novaprostaffing com np index jsp通过 PHP curl 但它不断产生以下错误 连接到 www novaprostaffing
  • 从接收器/服务打开屏幕

    我希望我的应用程序能够打开屏幕并显示我的应用程序 假设我正在设置闹钟 并且每小时我希望我的应用程序在设备自然休眠之前显示 2 分钟 我发现 WakeLock FULL LOCK 和 KeyguardManager 已被弃用 我创建了一个 W
  • 单击菜单链接即可从一个 div 移动到另一个 div

    我想在我的网站上制作动画效果 当我们单击菜单链接 例如 关于部分 时 它将以视差样式为该 div 制作动画 所以 如果你们知道任何 jquery 插件可以在这方面帮助我 那么请告诉我 如果你们也向我展示一个例子 那就更好了 请参阅代码寻求帮
  • 如何在 tkinter ttk 中获得无边框效果?

    为了在 tkinter tk 中获得按钮无边框效果 我曾经设置过borderwidth 0 按钮将合并到背景中 但我无法在 tkinter ttk 中获得相同的效果 我设置borderwidth 0很有型 按钮始终有边框宽度 我不知道为什么
  • 计算 C 中的二项式系数

    我找到了以下代码进行计算nCr 但不明白其背后的逻辑 为什么这段代码有效 long long combi int n int k long long ans 1 k k gt n k n k k int j 1 for j lt k j n
  • 如何在 Windows 上的 C++ 中隐藏/取消隐藏文件而不擦除其他属性

    我希望能够在 C 中隐藏 取消隐藏 Windows 中的文件 但我担心删除其他属性 如 FILE ATTRIBUTE READONLY FILE ATTRIBUTE ARCHIVE 这是当前的代码 Hiding the file SetFi
  • MediaStore.Audio.Albums.ALBUM_ID 无效列

    我无法从 MediaStore 获取 albumID 我得到 1getColumnIndex 这是我的代码 Cursor cursor mContext getContentResolver query MediaStore Audio A
  • 我不知道对象(这个)意味着

    In https developer mozilla org en docs Web JavaScript Reference Global Objects Array fill 有一条线像 Steps 1 2 if this null t