javascript中字符串的数组未移位

2024-02-22

var hello = 'hello';
Array.prototype.unshift.call(hello, '11') // gives error
Array.prototype.join.call(hello, ', ') // works, why??

有人可以向我解释为什么吗.join有效以及为什么.unshift doesn't


因为字符串是不可变的,并且unshift尝试分配给字符串的索引(属性),如

"hello"[4] = '1'

参考:http://www.ecma-international.org/ecma-262/6.0/#sec-string-exotic-objects http://www.ecma-international.org/ecma-262/6.0/#sec-string-exotic-objects:

String 对象是一种奇特对象,它封装 String 值并公开与 String 值的各个代码单元元素相对应的虚拟整数索引数据属性。外来字符串对象总是有一个名为“length”的数据属性,其值是封装字符串值中代码单元元素的数量。代码单元数据属性和“长度”属性都是不可写和不可配置的。

join不分配任何内容,只读取属性,因此它适用于任何具有.length.

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

javascript中字符串的数组未移位 的相关文章

随机推荐

  • 如何将 c++filt 与 llvm-cov 报告一起使用?

    我正在尝试将 demangler 与 llvm cov 报告工具一起使用 以下是我正在运行的命令 llvm cov report path to executable instr profile path to default profda
  • 根据分组 ggplot2 条形的着色和阴影/纹理[重复]

    这个问题在这里已经有答案了 我正在尝试制作一个条形图 就像下面的示例数据和脚本一样 对 4 个个体在治疗前后进行测量 抱歉 我没有足够的声誉来上传示例图片 我想用某种颜色绘制个体 例如汤姆为绿色 弗雷德红色等 但对于代表治疗的条形 我想在颜
  • 我是否应该尽可能在 C++11 中将“const int”替换为“constexpr int”?

    你会替换吗 const int one 1 const int two 2 有了这个 constexpr int one 1 constexpr int two 2 我的理解是否正确 两个块在语义上是相同的 并且目前只是一个品味问题 另一方
  • 如何通过 C# 方法使用 IronRuby 块

    我正在使用 IronRuby 并尝试找出如何通过 C 方法使用块 这是我尝试模拟的基本 Ruby 代码 def BlockTest result yield hello puts result end BlockTest x x world
  • Listview/DetailsView:隐藏空字段

    我想这是一个很常见的问题 但到目前为止我还没有找到一个优雅的解决方案 我有很多实例 其中有绑定到 SQL Server SPproc 的 ListView 或 DetailsView 控件 我遇到的问题是 在很多情况下 当列为空时 我想在
  • 如何使用 CSS 旋转导航栏中的元素?

    我试图让我的导航栏在我的 WordPress 网站中旋转 但无法使其居中并靠近屏幕左侧 这是我现在得到的屏幕截图 这是我正在使用的 CSS 代码 nav standard position fixed webkit transform ro
  • Hyperledger Composer Web 应用程序用户身份验证

    我已经使用 Hyperledger Composer 创建了一个业务网络 并且创建了一个简单的 Web 应用程序 用于添加参与者并使用 Angular 通过 Web 界面提交交易 另外 我已经使用护照启用了 REST 服务器的身份验证 并且
  • 在 Access 中创建 Outlook 收件箱电子邮件表

    UPDATE 下面的当前代码符合推荐的 SQL 构造 SqlString 中的错误 运行时错误 3011 Microsoft Access 数据库引擎找不到对象 请确保该对象存在 并且正确拼写其名称和路径名 如果 不是本地对象 请检查您的网
  • Tweepy OpenSSL.SSL.WantReadError

    Python 3 6 我使用 tweepy 的 Streamer 来获取推文 效果很好 但有时 如果我让它打开超过 24 小时 就会出现此错误 Traceback most recent call last File C ProgramDa
  • C++ 中的 bool 是什么?

    我遇到了一些非常有趣的代码 这让我想知道 bool 是什么 我一直认为它是原始类型 例如 int char 或 long 但今天 我看到了这样的东西 void boolPtrTest bool thisBool true boolPtrHe
  • sas中的分组依据

    我有以下数据集作为输入 ID 1 2 2 3 4 4 4 5 并需要一个新的数据集 如下所示 ID count of ID 1 1 2 2 3 1 4 3 5 1 您能告诉我如何在 SAS 中执行此操作而不使用 PROC SQL 吗 或者
  • 为我的 WCF 服务启用 SSL

    我有一个在开发中使用 basicHttpBinding 的 WCF 服务 现在在产品中我们想要使用 SSL 我必须进行哪些更改才能强制仅使用 SSL 连接 MSDN 上的此页面解释了 WCF 绑定安全性 http msdn microsof
  • 定义API时我应该返回CompletableFuture还是Future?

    在Java 8中 接口或抽象类定义返回的API更好吗 CompletableFuture而不是返回Future 考虑到转换很难看Future to CompletableFuture https stackoverflow com ques
  • 向 pandas 绘图添加小刻度

    我有以下代码 from pandas datareader import data as web import matplotlib pyplot as plt fig ax1 ax2 plt subplots 2 1 df web Dat
  • 如果互联网或信号中断,如何捕获异常

    我正在使用媒体播放器和流音频 我想知道如果互联网或信号中断并且无法再传输音频 捕获异常的最佳方法是什么 下面是我到目前为止所做的代码 正如您所看到的 我用相同的消息抛出所有异常 private class taskDoSomething e
  • Parse.com Javascript SDK 使用 include,但不起作用

    我正在尝试从名为的表中获取数据Book 里面Book有一个Pointer
  • 在网络调用期间显示 ProgressDialog,直到完成

    I am very很沮丧 因为我一直在等待网络调用时尝试实现一个超级简单的加载轮 我已经搜索并阅读了几十个这样的问题 我只是觉得我一定错过了一些东西 除非没有人真正做我想做的事情 我尝试过AsyncTask路线 但这不是我想要的 我还要说的
  • axios 在本机反应中给出 [AxiosError: Network Error]

    我是 React Native 的新手 我正在尝试使用 React Native 中的 axios 提交 api 但我 getiign AxiosError 网络错误 我不知道这是什么或如何解决这个问题 function getdata c
  • mysqli_real_escape_string 如何无法阻止 SQL 注入? [复制]

    这个问题在这里已经有答案了 首先 我知道人们想要使用存储过程 以便他们重用查询并处理转义 然而 我读到很多开发人员都说mysqli real escape string不能100 防止SQL注入 有人可以提供一个例子吗 根据我对这个主题的有
  • javascript中字符串的数组未移位

    var hello hello Array prototype unshift call hello 11 gives error Array prototype join call hello works why 有人可以向我解释为什么吗