gpt4 book ai didi

javascript - for...in 循环在 Chrome 中工作,但在 IE 中不起作用?

转载 作者:行者123 更新时间:2023-12-03 10:56:53 24 4
gpt4 key购买 nike

好吧,问题就在这里......

<小时/>

这是我正在编写的文件的简化版本...

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>_</title>
<script src="/sifu/query/jquery.js"></script>
<script>
/********************************************************/
str='abcdefghijklmnopqrstuvwxyz'
/********************************************************/
function pop(){
/****************************/
sx='for(ia in str)'+'\n';
for(ia in str)
sx+='\n'+ia+' => '+str[ia];
enX.innerText=sx;
/****************************/
sy='for(ib=0;ib<str.length;ib++)'+'\n';
for(ib=0;ib<str.length;ib++)
sy+='\n'+ib+' => '+str[ib];
enY.innerText=sy;
/****************************/
}
/********************************************************/
$(document).ready(function(){
pop()
})
/********************************************************/
</script>
</head>
<body>
<table style="width:100%;text-align:center">
<tr>
<td id="enX">enX</td>
<td id="enY">enY</td>
</tr>
</table>
</body>
</html>

演示

str = 'abcdefghijklmnopqrstuvwxyz'

function pop() {
sx = 'for(ia in str)' + '\n';
for (ia in str) {
sx += '\n' + ia + ' => ' + str[ia];
}
enX.innerText = sx;

sy = 'for(ib=0;ib<str.length;ib++)' + '\n';
for (ib = 0; ib < str.length; ib++) {
sy += '\n' + ib + ' => ' + str[ib];
}
enY.innerText = sy;
}

$(document).ready(function() {
pop()
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table style="width:100%;text-align:center">
<tr>
<td id="enX">enX</td>
<td id="enY">enY</td>
</tr>
</table>

<小时/>

当我将它加载到 chrome 中时,它工作正常...我得到两列相同的 0-25|a-z

<小时/>

然而,当我在 IE 中加载它时,

Column X, only has the header for(ia in str) and contains no instances of the loop ie: 0 => a etc...

还有

Column Y, contains both the header for(ib=0;ib<str.length;ib++) and 26 instances of # => undefined, where # is the loop number.

<小时/><小时/>

我很抱歉问这样一个简单化的问题,但我最近一直在自学如何专门为chrome编写网页,留下 IE 落后了,而且在学习如何在 chrome 中编码的时间里,我似乎忘记了在 IE 中编码的基础知识......

<小时/>

欢迎所有指点...请解释一下我哪里出错了

最佳答案

我找不到引用,但我相当确定某些版本的 IE 不支持索引字符串,您应该使用 charAt 函数。确实如此,在这些版本的 IE 中,for .. in 没有任何可迭代字符串的内容。

通过使用 .split('') 将字符串转换为数组,并使用 for .. in ,代码应该可以在所有浏览器中运行。

关于javascript - for...in 循环在 Chrome 中工作,但在 IE 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28234381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com