日期:2014-05-16  浏览次数:20392 次

为什么alert(str[0])打印出来的是undefined
JScript code

function test(pP1) {
    alert(pP1[0]);  //在本地机正常显示,弹出1
}
test('103');



上面的代码放入服务器所在的文件里,运行弹出的确实undefined,为什么,抓狂了

------解决方案--------------------
JavaScript的代码运行与是在本地还是在服务器是没关系的,只跟你调试的浏览器有关。
你这个写法非常规,能弹出1已经JavaScript的变态之处了~!

给你加点东西:

function test(pP1) {
alert(pP1[0]); //在本地机正常显示,弹出1
}
test('103'.split(''));
------解决方案--------------------
呃,不会吧。应该是可以弹出1才对,我刚测试过的
------解决方案--------------------
别纠结了喔。实在不行就强制转换一下嘛

JScript code
function test(pP1) {
    if(typeof(pP1)=='string'){pP1=pP1.split('')}
    alert(pP1[0]);
}

------解决方案--------------------
alert(pP1.charAt(0)); //针对字符串这样写就可以了

如果是数组就要改写了,要判断下类型。