主题:  求助 关于单引号的用法

猪妈妈

职务:普通成员
等级:1
金币:0.0
发贴:766
注册:2003/1/24 12:44:16
#12005/4/9 15:15:14
我在学习别人的代码时看到的一段script.
var arr=new Array('0');
i=0;
Num=1234;
while(Num>0){
arr[i]=''+Num%1000;
Num=Math.floor(Num/1000);
i++;
}
以上是一段代码里的片断,在这里面两次用到了单引号,单引号到底是起到什么作用呢?



猪妈妈

职务:普通成员
等级:1
金币:0.0
发贴:766
注册:2003/1/24 12:44:16
#22005/4/9 15:31:59
var arr=new Array('0');
i=0;
改为var arr=new Array('0'),i=0;



浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
注册:2001/11/19 12:41:09
#32005/4/9 21:27:15
这里应该和双引号等效。



猪妈妈

职务:普通成员
等级:1
金币:0.0
发贴:766
注册:2003/1/24 12:44:16
#42005/4/11 0:28:56
我式过了,确实和双引号等效,不过它在这里为什么要用单引号呢?
把整段代码贴上来

function formatno(n) {
    n = String(n);
    if (n.indexOf(".") != -1) {
        Num = n.substring(0, n.indexOf("."));
    } else {
        Num = n;
    }
    var arr = new Array('0'), i = 0;
    if (n.indexOf(",") == -1) {
        while (Num>0) {
            arr[i] = ''+Num%1000;
            Num = Math.floor(Num/1000);
            i++;
        }
        arr = arr.reverse();
        for (i in arr) {
            if (i>0) {
                while (arr[i].length<3) {
                    arr[i] = '0'+arr[i];
                }
            }
        }
    } else {
        trace("d") ;
        arr[i] = Num;
    }
    if (n.indexOf(".") != -1) {
        Dec = n.substring(n.indexOf(".")) ;
    } else {
        Dec = "";
    }
    if (Dec.length == 0 or Number(Dec == 0)) {
        arr += ".00";
    } else if (Dec.length == 2) {
        arr += Dec+"0";
    } else {
        arr += Dec;
    }
    delete Dec, Num, i;
    return arr;
}
var1 = 12345067.8;
var2 = formatno(var1);
trace(var2);

还是对单引号理解得比较抽象。

编辑历史:[此帖最近一次被 xiaoyu811211 编辑过(编辑时间:2005-04-11 00:36:50)]


浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
注册:2001/11/19 12:41:09
#52005/4/12 15:41:41
既然等效,为什么不能用呢?每个人的编程习惯不一样而已。