JavaScript将一些基础的、常用的功能做成了函数,供开发者直接调用。
一、数值处理函数
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> title>
head>
<body>
<script>
document.write(parseInt("10") + "
") ;
document.write(parseInt("10.33") + "
");
document.write(parseInt("34 45 66") + "
");
document.write(parseInt(" 60 ") + "
");
document.write(parseInt("40 years") + "
");
document.write(parseInt("He was 40") + "
");
document.write("
");
document.write(parseInt("10",10)+ "
");
document.write(parseInt("010")+ "
");
document.write(parseInt("10",8)+ "
");
document.write(parseInt("0x10")+ "
");
document.write(parseInt("10",16)+ "
");
script>
body>
html>
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> title>
head>
<body>
<script>
document.write(parseFloat("12.5abc") + "
") ;
document.write(parseFloat("10.33") + "
");
document.write(parseFloat("a2.5abc5.3") + "
");
script>
body>
html>
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> title>
head>
<body>
<script>
document.write(isNaN(123)+ "
");
document.write(isNaN(-1.23)+ "
");
document.write(isNaN(5-2)+ "
");
document.write(isNaN(0)+ "
");
document.write(isNaN("Hello")+ "
");
document.write(isNaN("2005/12/12")+ "
");
script>
body>
html>
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> title>
head>
<body>
<script>
document.write(isFinite(123)+ "
");
document.write(isFinite(-1.23)+ "
");
document.write(isFinite(5/2)+ "
");
document.write(isFinite(1/0)+ "
");
script>
body>
html>
二、字符串处理函数
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> title>
head>
<body>
<script>
eval("x=10;y=20;document.write(x*y)");
document.write("
" + eval("2+2"));
document.write("
" + eval(x+17));
script>
body>
html>
http://www.abc.com/a.jsp?user=admin&pwd=123
Web服务端在收到这种字符串的时候,会用"&“分割出每一个参数,然后再用”="来分割出参数值。
上例中,参数是
user=admin,pwd=123
现在有这样一个问题,如果网址中参数值就包含=或&这种特殊字符的时候该怎么办。
比如说“user=value1”,其中value1的值是“ad&mi=n"字符串,那么实际在传输过程中就会变成这样"user= ad&mi=n"。我们的本意是就只有一个键值对,但是服务端会解析成两个键值对,这样就产生了奇异。
http://www.abc.com/a.jsp?user=ad&mi=n&pwd=123
如何解决上述问题带来的歧义呢?解决的办法就是对参数进行编码。
escap()函数用于将一些特殊字符(不包括字母和数字字符以及*、@、-、_、+、.和/)进行编码,它可以将这些特殊字符转换为“%XX”格式的数字。
示例:
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>title>
head>
<body>
<script>
var strUser="hello?张三";
var encode=escape(strUser);
document.write(encode);
script>
body>
html>
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>title>
head>
<body>
<script>
var strUser="hello?张三";
var encode=escape(strUser);
var uncode=unescape(encode);
document.write(uncode);
script>
body>
html>
encodeURI()函数
该函数主要用于将URI字符串进行编码。该方法的目的是对URI进行完整的编码,对在 URI中具有特殊含义的ASCII标点符号,encodeURI()函数是不会进行转义的:;/?&=+$,#
decodeURI()函数
该函数主要用于对已编码的URI字符串进行解码。
示例:
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>title>
head>
<body>
<script>
var uri="mytest.php?name=stale&car=saab";
document.write(encodeURI(uri)+ "
");
document.write(decodeURI(uri));
script>
body>
html>