javascript内置函数

JavaScript函数有2种,一种是程序员自定义的函数,另外一种是JavaScript内部事先已经定义好的函数(内置函数)。由于内置函数已经事先定义好了,所以在开发过程中,我们直接调用这个函数就ok了,这样极大方便我们的编程效率。

JavaScript的内置函数非常多,这里只给大家介绍一些使用频率非常高的函数。
我们要介绍的内置函数有7个:
(1)eval()函数
(2)isFinite()函数
(3)isNaN()函数
(4)parseInt()函数
(5)parseFloat()函数
(6)escape()函数
(7)unescape()函数

eval()函数

在JavaScript中,eval()函数可以把一个字符串当做一个JavaScript表达式一样去执行它。

语法:

eval(string)
说明:string表示一个字符串,是eval()函数必选参数。eval()函数是有返回值的,如果参数字符串是一个表达式,就会返回表达式的值。如果参数字符串不是表达式,也就是没有值,那么就会返回“undefined”。

举例:

<html>
<head>
    <title></title>
    <script type="text/javascript">
        eval("document.write('<strong>JavaScript教程</strong> ')");
        document.write("<br/>");
        eval("x=10;y=20;document.write(x*y)");
        document.write("<br/>");
        eval("document.write('www.catroom.com.cn')");
        document.write("<br/>");
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:
javascript eval()函数

在此说明一下,虽然eval()函数很强大,但是在实际开发中,我们却很少用到。所以这个函数大家了解一下即可,不需要深究。

isFinite()函数

在JavaScript中,isFinite()函数用来确定某一个数是否是一个有限数值。

语法:

isFinite(number)
说明:
number参数是必选的,可以是任意的数值,例如整型、浮点型数据。
如果该参数为非数字、正无穷数和负无穷数,则返回false;否则的话,返回true。
如果是字符串类型的数字,就会自动转化为数字型。

举例:

<html>
<head>
    <title></title>
    <script type="text/javascript">
        document.write("isFinite(123)的返回值为:");
        document.write(isFinite(123)+"<br/>");
        document.write("isFinite(3.1415)的返回值为:");
        document.write(isFinite(3.1415)+"<br/>");
        document.write("isFinite(8-6)的返回值为:");
        document.write(isFinite(8-6)+"<br/>");
        document.write("isFinite(0)的返回值为:");
        document.write(isFinite(0)+"<br/>");
        document.write("isFinite(\"JavaScript入门教程\")的返回值为:");
        document.write(isFinite("JavaScript入门教程")+"<br/>");
        document.write("isFinite(2020/05/03)的返回值为:");
        document.write(isFinite(2020/05/03)+"<br/>");
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:
javascript isFinite()函数

isFinite()函数语法很简单,实际开发也用得不多,大家看看就可以了。

isNaN()函数

在JavaScript中使用isNaN()函数来判断一个值是否是NaN值。如果该值为非数字值或NaN值,返回true,否则返回false。那什么叫NaN值呢?啊,很简单:

NaN = "Not a Number"(非数字值)
顾名而思义,现在大家都懂了什么叫NaN值吧。其实数字型数据(整型或浮点型)就不是NaN值,而非数字型(如字符串)就是NaN值。

语法:

isNaN(参数)
说明:
这里的参数可以是任何类型的数据,例如数字型、字符串型、日期时间型等。不过得注意一点,当参数是“字符串类型的数字”,就会自动转换为数字型。

例如:
123 //这不是NaN值
"123" //这也不是NaN值,因为“字符串类型的数字”会被自动转换为数字型
"abc123" //这是NaN值

举例1:

<html>
<head>
    <title></title>
    <script type="text/javascript">
        document.write("isNaN (123)的执行结果是:");
        document.write(isNaN (123)+"<br/>");
        document.write("isNaN (3.1415)的执行结果是:");
        document.write(isNaN (3.1415)+"<br/>");
        document.write("isNaN (0)的执行结果是:");
        document.write(isNaN (0)+"<br/>");
        document.write("isFinite(\"www.catroom.com.cn\")的执行结果是:");
        document.write(isFinite("www.catroom.com.cn")+"<br/>");
        document.write("isFinite(2020/05/03)的执行结果是:");
        document.write(isFinite(2020/05/03)+"<br/>");
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:
Javascript isNaN() 函数

使用这个函数的典型情况就是检查parseInt()方法和parseFloat()方法的返回值。还有一种方法,便利可以与它自身进行比较,如果比较的结果不相等,那么它就是NaN。这是因为NaN是唯一与自身不等的值。

举例:

<html>
<head>
    <title></title>
    <script type="text/javascript">
        var str1 = "test";
        var str2 = "test123"
        var str3 = "5/0";

        str1 = parseInt(str1);
        str2 = parseInt(str2);
        str3 = parseInt(str3);

        document.write("str1 = "+ str1 + "<br>");
        document.write("str2 = " + str2 + "<br>");
        document.write("str3 = " + str3 + "<br>");

        if (isNaN(str1) == true) {
            document.write("str1=" + str1 + " is not a number<br>");
        }
        if (isNaN(str2) == true) {
            document.write("str2=" + str2 + " is not a number<br>");
        }
        if (isNaN(str3) == true) {
            document.write("str3="+ str3 + " is not a number<br>");
        }
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:
javascript parseInt函数

parseInt()函数和parseFloat()函数

在JavaScript中,parseInt()函数和parseFloat()函数功能类型,都是将“数字字符串”转化为一个数值。之前我们讲解的那几个函数可能用得不是很多,但是这两个函数在实际开发用得非常的多,大家要打醒十二分精神把这两个函数给记住。

parseInt()函数

parseInt()函数主要将首位为数字的字符串转化为数字。如果字符串不是以数字开头,则将返回NaN。

语法:

parseInt(数字字符串)

举例:

<html>
<head>
    <title></title>
    <script type="text/javascript">
        var str = "10"+20;
        var sum = parseInt("10")+20;
        document.write(str+"<br/>");
        document.write(sum);
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:
Javascript parseInt() 函数

分析:大家可以看到,如果一个字符串跟一个数字相加,JavaScript会将数字转化为字符串,然后再进行相加。这一知识点,我们在“JavaScript表达式”这一节已经详细讲解了。不过,我们如果将数字字符串“10”使用parseInt()函数转换为数值型数据,则相加的结果就不是字符串了,而是数字型数据。大家稍微琢磨一下。

parseFloat()函数

parseFloat()函数主要将首位为数字的字符串转化为浮点型数字。如果字符串不是以数字开头,将返回NaN。

语法:
parseFloat(数字字符串)
举例:

<html>
<head>
    <title></title>
    <script type="text/javascript">
        var str = "3.14"+20;
        var sum = parseFloat("3.14")+20;
        document.write(str+"<br/>");
        document.write(sum);
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:
Javascript parseFloat() 函数

具体分析跟parseInt()函数的例子分析一样,在此不累赘解析。

escape函数和unescape()函数

escape函数

escape()函数主要作用就是对字符串进行编码,以便它们能在所有计算机上可读。

语法:

escape(charString)

说明:charString是必选参数,表示要进行编码的字符串或文字。escape()函数返回一个包含charString内容的字符串值(Unicode格式)。除了个别如“*@”之类的符号外,其余所有空格、标点符号以及其他非ASCII字符均可用“%xx”这种形式的编码代替,其中xx等于表示该字符的十六进制数。

举例:

<html>
<head>
    <title></title>
    <script type="text/javascript">
        document.write(escape("hello lvye!"))
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:
Javascript escape() 函数

分析:
空格符对应的编码是“%20”,感叹号对应的编码是“%21”,因此执行escape("hello lvye!")后结果为“hello%20lvye%21”。

unescape()函数

escape()函数和unescape()函数是刚好反过来的,前者是编码,后者是解码。

语法:

unescape(charString)

说明:
charString是必选参数,表示要进行解码的字符串。unescape()函数返回指定值的ASCII字符串。与escape()函数相反,unescape()函数返回一个包含charString内容的字符串值,所有以“%xx”十六进制形式编码的字符都用ASCII字符集中等价的字符代替。

举例:

<html>
<head>
    <title></title>
    <script type="text/javascript">
        document.write(unescape("hello%20lvye%21"))
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:
Javascript unescape()函数

分析:
空格符对应的编码是“%20”,感叹号对应的编码是“%21”,因此执行unescape("hello%20lvye%21")后结果为“hello lvye!”。