Uncaught Syntaxerror:意外的标识符,也是匿名函数错误

时间:2011-08-26 16:49:52

标签: javascript eval anonymous-function

我在Chrome控制台窗口中收到了Uncaught Syntax Error: Unexpected Identifier。这些行在下面,我刚刚发布了该函数的片段,整个函数可以在jsFiddle找到。

var shipping_price = $(".shipping_price").html();
shipping_price = shipping_price.substring(1, shipping_price.length);
$('input[name="shipping_price"]').val(shipping_price); // Update our Hidden Field

// Unexpected Identifier
result += eval(shipping_price); // This is where Im getting the error

我必须使用eval,否则该功能不起作用。当我拨打above function时,我也收到错误:

// Call getTotalPrice(); On DOM Ready
// dom ready
getTotalPrice(); // Anonymous function error, I think this is fixed when I fix the above error.

我是如何轻易解决这些问题的?

2 个答案:

答案 0 :(得分:1)

  1. .substring中,如果您希望所有字符从指定位置到结尾,则可以省略第二个参数。
  2. 永远不要使用eval。看来你正在将一个字符串转换成一个数字。 parseFloat就是你想要的。
  3. E.g。

    var shipping_price = $(".shipping_price").html();
    shipping_price = shipping_price.substring(1);
    $('input[name="shipping_price"]').val(shipping_price);
    
    result += parseFloat(shipping_price);
    

答案 1 :(得分:1)

试试这个

var shipping_price = $(".shipping_price").html();
shipping_price = shipping_price.substring(1); //unless your removing the dollar sign from the string, you should start on 0, not 1.. which would mean you dont need substring at all.
$('input[name="shipping_price"]').val(shipping_price); // Update our Hidden Field

result += Number(shipping_price); 

另外,匿名函数错误意味着该函数不存在,请检查大小写和拼写