日期:2014-05-16  浏览次数:20347 次

javascript 比较两个数值大小的问题
今天碰到一个问题,在js比较两个数值的大小,按照正常的逻辑写死活都不起作用。
有问题的代码如下:
function chkNum(){
	var appcount = $("#appcount").val();
    var intencount = $("#intencount").val(); 
    var unemployment = $("#unemployment").val(); 
	if(appcount == null || appcount == ""){
		alert("应聘人数不能为空!");
		return false;
	}
	if(intencount == null || intencount == ""){
		alert("初步达成录用人数不能为空!");
		return false;
	} 
    if(intencount < appcount  ){
      		alert("初步达成录用人数应小于企业应聘人数!");
      		$("#intencount").val("");
	       	return false;
	} 
    if(unemployment > appcount){
      		alert("其中失业人数应小于企业应聘人数!");
      		$("#unemployment").val("");
	       	return false;
	} 
};


这个问题纠结了好久,上网查了下js居然有个eval函数
eval函数定义和用法
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

修改后的代码
function chkNum(){
	var appcount = $("#appcount").val();
    var intencount = $("#intencount").val(); 
    var unemployment = $("#unemployment").val(); 
	if(appcount == null || appcount == ""){
		alert("应聘人数不能为空!");
		return false;
	}
	if(intencount == null || intencount == ""){
		alert("初步达成录用人数不能为空!");
		return false;
	} 
    if(eval(intencount) > eval(appcount)  ){
      		alert("初步达成录用人数应小于企业应聘人数!");
      		$("#intencount").val("");
	       	return false;
	} 
    if( eval(unemployment) > eval(appcount)){
      		alert("其中失业人数应小于企业应聘人数!");
      		$("#unemployment").val("");
	       	return false;
	} 
};