我在Internet Explorer 8中遇到问题,是不是在javascript中计算了三个变量的添加?
我有这个:
var y = function(s) {
var p = ($.browser.msie || $.browser.opera) ? h(s) : s.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
delete p[0];
var r = ((p[1] / 255) * 0.2989);
var g = ((p[2] / 255) * 0.5180);
var b = ((p[3] / 255) * 0.1140);
return (r + g + b);
};
现在,这适用于Chrome,Opera和Firefox,但不适用于Internet Explorer,IE正在给我NaN
。如果我只使用return (r + g)
或return (g + b)
我已尝试return ((r + g) + b)
,我尝试了var rg = (r + g); return (rg + b);
但我一直在NaN
。是否有一些特殊的技巧在javascript中使用IE ???
答案 0 :(得分:1)
我首先尝试对每个变量r,g和b运行isNaN(),以确保每个变量的值实际上是数字。如果是这样,也许可以尝试将它们一起添加并将结果分配给您随后返回的变量。