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,我确实搜索了,但不知何故错过了该问题。很高兴知道,这使其无法使用。一路上都是查拉特!!知道很好,因此它无法使用。一路上都是查拉特!!知道很好,因此它无法使用。一路上都是查拉特!!知道很好,因此它无法使用。一路上都是查拉特!!知道很好,因此它无法使用。一路上都是查拉特!!知道很好,因此它无法使用。一路上都是查拉特!!