怎么判断一个参数是不是数字 js

JavaScript022

怎么判断一个参数是不是数字 js,第1张

判断一个参数是不是数字的方法:

isNaN() 不是一个数字 is not a number

if(isNaN(a)){

alert("a不是数字")

}else{

alert("a是数字")

原理:

一、利用expr做计算时变量或字符串必须是整数的规则,把一个变量或字符串和一个已知的整数(非0)相加,看命令返回的值是否为0.如果为0,就认为加法的变量或字符串为整数,否则就不是。

i=5

expr $I + 6 &>/dev/null

echo $?

如果输出的是0,那么表明i是整数,反之则表示为非整数。其中$?表示的是最后运行的代码的返回值

上述判断中,有&>表示的就是不管是什么,都重定向到/dev/null中。

二、使用sed加正则表达式

思路:删除一个字符串中的所有数字,看字符串的长度是否为0,如果不为0,则不是整数。

if [ -n "`echo char | sed 's/[0-9]//g'`" ]

then

echo "char"

else

echo "number"

fi

三、用变量的子串替换

思路:如果num的长度不为0,并且把num中的非数字部分删除,然后看结果是不是等于num本身,如果两者成立,那么就是数字,反之亦然。

if [ -n "$num" -a "$num" = "${num//[^0-9]/}" ]

then

echo "char"

else

echo "number"

fi

函数就是包裹在花括号中的代码块,前面使用了关键词 function:

function functionname()

{

这里是要执行的代码

}

当调用该函数时,会执行函数内的代码。

方法一:

function c()

{

alert(arguments[0]) //参数1

alert(arguments[1]) //参数2

alert(arguments[2]) //参数3

}

c(1, 2, 3)

方法二:

function b(o)

{

alert(o.a) //参数1

alert(o.b) //参数2

alert(o.c) //参数3

}

b({a:1, b:2, c:3})

function execute(a,b,func){

    if(typeof func == 'function'){

        func(a,b)

    }

}

function add(a,b){

    alert(a+b)

}

execute(2,3,add)

像这种一般还是判断一下;

主要还是为了严谨吧