昨天我问了一个问题,已经正确回答了。现在我想花更多时间来理解昨天回答的那个函数。在该函数循环中,在“num”变量中添加值“7”。我想知道它如何在“num”中增加值(value)。
var Arr = [ 'h78em', 'w145px', 'w13px' ]
function stringToNum(str){
num = 0;
for (i = 0; i < str.length; i++)
if (str[i] >= '0' && str[i] <= '9')
num = num * 10 + parseInt(str[i]);
return num;
}
alert(stringToNum(Arr[0]));
这里是fiddle
最佳答案
在给定的代码中,当调用函数时,if 条件检查传递值中的每个字符串,当变量是数字时,执行以下代码
if (str[i] >= '0' && str[i] <= '9')
num = num * 10 + parseInt(str[i]);
因此在给定的字符串中,出现的第一个数字是7
。由于 num
的值最初为零,因此 num 的值将为,
num=( 0 *10) + 7
so num=7
在数字第一次出现时。第二次出现数字时,ie 8
num 的值为,
num=(7*10)+8
因此值为78
关于javascript - 使用 jquery 循环变量中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12209788/