我一直认为,如果您想访问名为 的字符串中的第 n 个字符str
,那么您必须执行类似的操作str.charAt(n)
。今天我正在制作一个小的虚拟测试页面,我错误地访问了它,str[n]
令我惊讶的是,它返回了字符串的第 n 个字符。我抛出了这个专门构建的小页面来展示这种意想不到的(对我而言)行为:
<!doctype html>
<html>
<body>
<script>
var str = "ABCDEFGH";
if (str[4] === str.charAt(4)) alert("strings can be indexed directly as if they're arrays");
var str2 = new String("ABCDEFGH");
if (str2[4] === str2.charAt(4)) alert("even if they're declared as object type String");
</script>
</body>
</html>
并不总是这样,不是吗?