JavaScript——全局函数

1. eval()  

eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。

如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。

<script>
    var result = eval("2*4+5+(4*5)");
    document.write(result+"<br>");

    eval("x = 10;y = 20; document.write(x*y)");
</script>

执行结果:

33
200 

2. escape()、unescape()

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。

unescape() 函数可对通过 escape() 编码的字符串进行解码。

<script>
    var result = "hello 一念静心花开遍世界";
    result = escape(result);
    document.write(result+"<br/>");
    document.write(unescape(result));
</script>

执行结果:

hello%20%u4E00%u5FF5%u9759%u5FC3%u82B1%u5F00%u904D%u4E16%u754C
hello 一念静心花开遍世界 

3.  isNaN()

isNaN() 函数用于检查其参数是否是非数字值。

如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。

<script>
    document.write(isNaN(123)+"<br/>");     // false
    document.write(isNaN("123")+"<br/>");   // false
    document.write(isNaN("hello")+"<br/>"); // true
    document.write(isNaN("  ")+"<br/>");    // false
    document.write(isNaN(new Array())+"<br/>");    // false
    document.write(isNaN(new Array("zth"))+"<br/>");    // true
    document.write(isNaN(new Array("23"))+"<br/>");     // false
    document.write(isNaN(new Array("23","34"))+"<br/>");// true
    document.write(isNaN(new Array("2.5e+7"))+"<br/>"); // false

</script>

【注意】:isNaN() 判断一个值能否被 Number() 合法地转化成数字。

  •  1、数字形式的字符串。例如 "123"、"-3.14",虽然是字符串型,但被 isNaN() 判为数,返回 false。"12,345,678","1.2.3" 这些返回 true)
  •  2、空值。null、空字符串""、空数组[],都可被 Number() 合法的转为0,于是被isNaN认为是数,返回false。(undefined、空对象{}、空函数等无法转数字,返回true)
  •  3、布尔值。Number(true)=1,Number(false)=0,所以isNaN对布尔值也返回false。
  •  4、长度为 1 的数组。结果取决于其中元素,即:isNaN([a])=isNaN(a),可递归。例如isNaN([["1.5"]])=false。
  •  5、数字特殊形式。例如"0xabc"、"2.5e+7",这样的十六进制和科学计数法,即使是字符串也能转数字,所以也返回false。

4. isFinite()

isFinite() 函数用于检查其参数是否是无穷大。

提示: 如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。

<script>
    document.write(isFinite(123)+"<br/>");  // true
    document.write(isFinite(-23)+"<br/>");  // true
    document.write(isFinite(5/2)+"<br/>");  // true
    document.write(isFinite(5/0)+"<br/>");  // false
    document.write(isFinite("hello")+"<br/>");  // false

</script>

5.  parseFloat()

parseFloat() 函数可解析一个字符串,并返回一个浮点数。

该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。

【注】

  •  字符串中只返回第一个数字。
  •  开头和结尾的空格是允许的。
  •  如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
<script>
    document.write(parseFloat(278)+"<br/>");
    document.write(parseFloat("286")+"<br/>");
    document.write(parseFloat("  23.45")+"<br/>");
    document.write(parseFloat("34 45 56 ")+"<br/>");
    document.write(parseFloat("34$")+"<br/>");
    document.write(parseFloat("我一定要在黄婚前到达")+"<br/>");
    
</script>

执行结果:

278
286
23.45
34
34
NaN

6.  parseInt() 

语法:

parseInt(string, radix)

parseInt() 函数可解析一个字符串,并返回一个整数。

当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

当忽略参数 radix , JavaScript 默认数字的基数如下:

  • 如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
  • 如果 string 以 0 开头,符解析为八进制或十六进制的数字。
  • 如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

【注】

  • 只有字符串中的第一个数字会被返回。
  • 开头和结尾的空格是允许的。
  • 如果字符串的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN。
  • 在字符串以"0"为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的基数。
<script>
    document.write(parseInt(278)+"<br/>");
    document.write(parseInt("278")+"<br/>");
    document.write(parseInt("23.34")+"<br/>");
    document.write(parseInt("23 34 45")+"<br/>");
    document.write(parseInt(" 34 ")+"<br/>");
    document.write(parseInt("23 hours")+"<br/>");
    document.write(parseInt("he is 18 ")+"<br/>");

    document.write("<br/>");

    document.write(parseInt("10",10)+"<br/>");
    document.write(parseInt("018")+"<br/>");
    document.write(parseInt("0xD")+"<br/>");
    document.write(parseInt("10",8)+"<br/>");
    document.write(parseInt("10",16)+"<br/>");
</script>

执行结果:

278
278
23
23
34
23
NaN

10
18
13
8
16

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值