当前位置: 首页 > 面试题库 >

JavaScript string.charAt(x)还是string [x]?

邬楚青
2023-03-14
问题内容

有什么理由string.charAt(x)代替括号表示法string[x]吗?


问题答案:

现在,括号表示法可在所有主要浏览器上使用,但IE7及以下版本除外。

// Bracket Notation
"Test String1"[6]

// charAt Implementation
"Test String1".charAt(6)

出于以下原因,使用方括号曾经是个坏主意:

此表示法在IE7中不起作用。
第一个代码段将在IE7中返回undefined。如果您碰巧对代码中的字符串使用括号表示法,并且想要迁移到.charAt(pos),这是一个真正的痛苦:在代码中都使用了括号,并且没有简单的方法来检测是针对字符串还是数组/。宾语。

您不能使用此符号设置字符。 由于没有任何警告,这确实令人困惑和沮丧。如果您正在使用该 .charAt(pos)功能,则不会想这么做。



 类似资料:
  • 我使用并有一个MySql db表,该表是用以下方式创建的:

  • 我想知道是否有人对是否使用最新的

  • 问题内容: 如果我只想在循环中使用索引,则最好将函数与 还是?即使我根本不使用? 问题答案: 我会使用它,因为它更通用- 例如它将在可迭代对象和序列上工作,并且仅返回对对象的引用的开销并不算大-尽管(对我而言)按您的意图更易于阅读- 在不支持…的物体上折断

  • 用例:I有一个用例,其中客户机生成私钥和公钥,将64位编码的公钥发送给服务器。 在服务器端,我将使用此公钥加密消息,并将加密的消息发送到客户端,客户端使用其私钥对其进行解密。商定的算法是“RSA”。 问题是在服务器端,我看到某些密钥正在使用作为密钥规范工作 虽然一些键抛出异常()使用但使用工作: 所以,我开始理解的是,客户端和服务器需要同意是否使用:或来编码密钥。我的问题是哪一个更适合我的用例?什

  • spring的侦探增加了MDC的X-B3-SpanId和SpanID。(TraceId相同) “x-b3-”前缀值与非前缀值相同。 如果其中一个值是多余的,我倾向于删除它。(减少日志的冗长) X-B3-SpanId和SPANID有什么区别吗?(X-B3-TraceId和Traceid) 是否有充分的理由将两者都记录下来? spring文档https://cloud.spring.io/spring

  • 描述 (Description) 此方法具有以下变体,这取决于传递的参数。 此方法返回传递的参数的字符串表示形式。 valueOf(boolean b) - 返回布尔参数的字符串表示形式。 valueOf(char c) - 返回char参数的字符串表示形式。 valueOf(char[] data) - 返回char数组参数的字符串表示形式。 valueOf(char[] data, int o