1: function C4(s){
2: var b = Array();
3: var m = (1 << 8) - 1;
4: for (var i = 0; i < s.length * 8; i += 8)
5: b[i>>5]|=(s.charCodeAt(i/8)&m)<<(i % 32);
6: return b;
7: }
在IE里执行C4函数没问题,但在.net里用Eval.JScriptEvaluate执行时总提示第5行"参数计数不匹配。"
这个函数是我从其它网站复制来的
请教:怎样修改使它能在.net里用Eval.JScriptEvaluate正确执行

解决方案 »

  1.   

    function C4(s) {
        var b = Array();
        var m = (1 << 8) - 1;
        for (var i = 0; i < s.length * 8; i += 8) {
            b[i >> 5] |= (s.charCodeAt(i / 8) & m) << (i % 32);
            return b;
        }
    }
      

  2.   

    看错。
    循环体内只有一行代码的话,要与for语句写到同一行上面。
    function C4(s) {
        var b = Array();
        var m = (1 << 8) - 1;
        for (var i = 0; i < s.length * 8; i += 8) b[i >> 5] |= (s.charCodeAt(i / 8) & m) << (i % 32);
        return b;
    }
      

  3.   

    function C4(s){
     var b = new Array();
     var m = (1 << 8) - 1;
     for (var i = 0; i < s.length * 8; i += 8)
     b[i>>5]|=(s.charCodeAt(i/8)&m)<<(i % 32);
     return b;
     }