如题
$("button#a14").on("click",function(){
       var b= $("p#text").text()        c=b.split("")
        var c;
        var d=[];
        var f="";
        var v='';
        for(var i=0;i<c.length;i++){
            if(c[i]!="+"&&c[i]!="="&&c[i]!="-"){
                f+=c[i]
            }
            else{
                d.push(f)
                d.push(c[i])
                f=''
            }
        }        v=Number(d[0])
         var e;
        for( e=1;e<d.length;e++){
            switch (d[e]){
                case '+':
                    v+=Number(d[e+1]);
                    break;
                case "-":
                    v-=Number(d[e+1]);
                   break;
            }
        }
         $("p#text").text(v)
    })   触发事件的时候为什么显示的是NaN, 

解决方案 »

  1.   


    最后一个f没有添加到d数组里        for(var i=0;i<c.length;i++){
                if(c[i]!="+"&&c[i]!="="&&c[i]!="-"){
                    f+=c[i]
                }
                else{
                    d.push(f)
                    d.push(c[i])
                    f=''
                }
            }
            d.push(f)

            v=Number(d[0])
             var e;
            for( e=1;e<d.length;e++){
                switch (d[e]){
                    case '+':
                        v+=Number(d[e+1]);
                        break;
                    case "-":
                        v-=Number(d[e+1]);
                       break;
                }
            }
             $("p#text").text(v)
        })