检查是否可以在javascript中成功完成数学运算(加法、乘法)?

检查是否可以在javascript中成功完成数学运算(加法、乘法)?,javascript,Javascript,给定一组表示加法运算中整数的特定“字符串”,如何知道javascript中的计算是否可行?比如说 2+2(绝对可能) 200000000000-1(不可能) 2e50+2e60(不可能) 200000+5+40+300+2000+10000(可能) 这同样适用于乘法,几个整数,duable与否 2*2(可能) 3*2e200(可能) 4*-3e700(不可能) 打开浏览器错误控制台并查看这是怎么做的 "use strict"; var i, numbers=[ 2+2,

给定一组表示加法运算中整数的特定“字符串”,如何知道javascript中的计算是否可行?比如说

2+2
(绝对可能)

200000000000-1
(不可能)

2e50+2e60
(不可能)

200000+5+40+300+2000+10000
(可能)

这同样适用于乘法,几个整数,duable与否

2*2
(可能)

3*2e200
(可能)

4*-3e700
(不可能)


打开浏览器错误控制台并查看这是怎么做的

"use strict";
var i,
    numbers=[
        2+2,
        20000000000000000 - 1,
        2e50 + 2e60,
        200000 + 5 + 40 + 300 + 2000 + 10000,
        2*2,
        3*2e200,
        4*-3e700
    ],
    s=numbers.length;
for(i=0;i<s;i++){
    console.log(
        'The value of array index '+i+' is'+
        ((Number.isSafeInteger((numbers[i])))?'':' NOT')+
        ' Safe'
    );
}
其中一些数字可能是准确的,但无法比较以确定哪个更大


打开浏览器错误控制台并查看这是怎么做的

"use strict";
var i,
    numbers=[
        2+2,
        20000000000000000 - 1,
        2e50 + 2e60,
        200000 + 5 + 40 + 300 + 2000 + 10000,
        2*2,
        3*2e200,
        4*-3e700
    ],
    s=numbers.length;
for(i=0;i<s;i++){
    console.log(
        'The value of array index '+i+' is'+
        ((Number.isSafeInteger((numbers[i])))?'':' NOT')+
        ' Safe'
    );
}

其中一些数字可能是准确的,但无法比较以确定哪个更大

eval(“1+1”)?我不是舒尔,如果它是那么简单…没有简单的答案。你在解决什么样的问题?Javascript是一种开发良好的脚本语言。所以从技术上讲,每一个计算都是可能的,只是如果你的方法是错误的,它就不会得到正确的解决方案?我不是舒尔,如果它是那么简单…没有简单的答案。你在解决什么样的问题?Javascript是一种开发良好的脚本语言。因此,从技术上讲,每一次计算都是可能的,只是如果你的方法是错误的,它将不会得到正确的解决方案。在编辑器中单击
,可以在这个pageNoScript的XSS过滤器内置的“stack snippet”控制台中运行。我只希望你不需要IE支持;)嗯,
Number.isSafeInteger(2e200)==false
即使如OP所述,
3*2e200(可能)
javascript:void(alert(2e200*3==2e200*3-1))
可以计算它,但它超出了javascript中的比较点,因此我们无法通过javascrpt验证它的准确性;它不是完美的,但它是我们能得到的最接近的;好吧,如果我们通过AJAX将其发送到服务器,我们可以在编辑器中单击
,并可以在这个pageNoScript的XSS过滤器内置的“stack snippet”控制台中运行,这给了我一些问题,希望您不需要IE支持;)嗯,
Number.isSafeInteger(2e200)==false
即使如OP所述,
3*2e200(可能)
javascript:void(alert(2e200*3==2e200*3-1))
可以计算它,但它超出了javascript中的比较点,因此我们无法通过javascrpt验证它的准确性;它不是完美的,但它是我们能得到的最接近的;如果我们通过AJAX将其发送到服务器,我们就可以