一尘不染

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

javascript

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


阅读 353

收藏
2020-04-25

共1个答案

一尘不染

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

// Bracket Notation
"Test String1"[6]

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

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

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

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

2020-04-25