Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:我们是否总是能够索引成这样的字符串';什么是数组?_Javascript_Arrays_String_Indexing - Fatal编程技术网

JavaScript:我们是否总是能够索引成这样的字符串';什么是数组?

JavaScript:我们是否总是能够索引成这样的字符串';什么是数组?,javascript,arrays,string,indexing,Javascript,Arrays,String,Indexing,我一直认为,如果要访问名为str的字符串中的第n个字符,则必须执行类似str.charAt(n)的操作。今天我做了一个小的虚拟测试页面,不小心,我用str[n]访问了它,出乎意料的是,它返回了字符串的第n个字符。我抛出了这个专门设计的小页面来展示(对我来说)这种意想不到的行为: <!doctype html> <html> <body> <script> var str = "ABCDEFGH"; if (s

我一直认为,如果要访问名为
str
的字符串中的第n个字符,则必须执行类似
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>

var str=“ABCDEFGH”;
if(str[4]==str.charAt(4))警报(“字符串可以像数组一样直接索引”);
var str2=新字符串(“ABCDEFGH”);
if(str2[4]==str2.charAt(4))警报(“即使它们声明为对象类型字符串”);

事情并不总是这样的,不是吗?

不,这并不总是可能的


如果您在足够旧的浏览器(例如IE7)中运行代码,它将无法访问这样的字符串。在那些较旧的发动机上,您必须使用
.charAt(index)

不,这并不总是可能的

如果您在足够旧的浏览器(例如IE7)中运行代码,它将无法访问这样的字符串。在那些旧的引擎上,您必须使用
.charAt(index)

有两种方法可以访问字符串中的单个字符。这个 首先是
charAt
方法:

return 'cat'.charAt(1); // returns "a"
另一种方法是将字符串视为类似数组的对象,其中 单个字符对应于数字索引:

return 'cat'[1]; // returns "a"
类似数组的字符访问(上面的第二种方式)不是ECMAScript 3的一部分。这是一个JavaScript和ECMAScript 5功能。

有两种方法可以访问字符串中的单个字符。这个 首先是
charAt
方法:

return 'cat'.charAt(1); // returns "a"
另一种方法是将字符串视为类似数组的对象,其中 单个字符对应于数字索引:

return 'cat'[1]; // returns "a"
类似数组的字符访问(上面的第二种方式)不是ECMAScript 3的一部分。这是一个JavaScript和ECMAScript 5功能。


只要我还记得,但是:

类似数组的字符访问[…]不是ECMAScript 3的一部分。这是一个JavaScript和ECMAScript 5特性


(…并非所有浏览器都支持)

只要我还记得,但是:

类似数组的字符访问[…]不是ECMAScript 3的一部分。这是一个JavaScript和ECMAScript 5特性


(…并非所有浏览器都支持此问题)

另请参见此问题:Grrr,我确实搜索了,但不知何故错过了该问题。另请参见此问题:Grrr,我确实搜索了,但不知何故错过了该问题。很高兴知道,这使其无法使用。一路上都是查拉特!!知道很好,因此它无法使用。一路上都是查拉特!!知道很好,因此它无法使用。一路上都是查拉特!!知道很好,因此它无法使用。一路上都是查拉特!!知道很好,因此它无法使用。一路上都是查拉特!!知道很好,因此它无法使用。一路上都是查拉特!!