JavaScript详解(6.数组和函数)

一,数组

“数组”即一组数据的集合。

js数组更加类似java的容器。长度可变,元素类型也可以不同!

Js数组长度随时可变!随时可以修改!我们可以通过修改数组的长度清空数组。

通过array.length获得数组长度。

1.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2.<html>
3.	<head>
4.		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5.		<title>JavaScript初级</title>
6.		<script>
7.			function test(){
8.				//两种定义数组的方式
9.				var a = new Array();
10.				var a2 = [];  //更常用!
11.				
12.				//初始化方式
13.				a[0] = 123;
14.				a[1] = new Date();  
15.				
16.				var a3  =[123,"45",new Date(),true];
17.				
18.				alert(a);
19.				alert(a3.length);
20.				
21.				a3.length = 2;  //改变数组长度,清掉后面的元素!
22.				alert(a3);
23.				a3.length = 0;  //直接清空数组
24.				alert(a3);
25.			}
26.			
27.			function test2(){
28.				var a = [1,2,3,4,5];
29.				a.push("ppp");   //数组末尾添加一个项
30.				alert(a);
31.				a.pop();    //删除数组最后一个项 
32.				alert(a);
33.				a.unshift("aa");//在数组第一个元素位置添加元素
34.				alert(a);
35.				a.shift();  //删除数组第一个元素
36.				
37.			}
38.		</script>
39.	</head>
40.	<body>
41.		<input type=button value=测试  onclick="test();"  />
42.		<input type=button value=测试  onclick="test2();"  />
43.	</body>
44.</html>

二,函数

一,自定义函数

一个典型的JavaScript函数定义如下:

function 函数名称(参数表)

{

	函数执行部分:

}

注意:参数列表直接写形参名即可,不用写var!

return语句:

return返回函数的返回值并结束函数运行

return语句的语法如下:

return 表达式

当使用return语句的时候,要得到函数的返回值,只要利用函数名对一个变量赋值就可以了。

函数也是对象!

函数的另一个定义方式!

1.<html>
2.	<head>
3.		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4.		<title>尚学堂JavaScript初级</title>
5.		<script>
6.			function test(){
7.				var a = test2;  //把test2指向的函数对象引用赋值给了a
8.				a();   //执行的仍然是test2函数	
9.			}
10.			var test2 = function(){    //更能体现函数也是对象的含义!
11.//根据此种定义方式,我们可以发现test2是一个全局变量,
12.//他只想了匿名的函数对象!
13.				alert("test2");
14.			}
15.			
16.			
17.			function test3(){
18.				test4(234,test2);
19.			}
20.			
21.			function test4(a,b){
22.				alert(a);
23.				alert(b);
24.				b();   //执行b指向的函数对象!
25.			}
26.			
27.		</script>
28.	</head>
29.	<body>
30.		<input type=button value=测试  onclick="test();"  />
31.		<input type=button value=测试2   onclick="test3();"  />
32.	</body>
33.</html>

二,内置函数

函数 描述
decodeURI() 解码某个编码的 URI。
encodeURI() 把字符串编码为 URI。
escape() 对字符串进行编码。
eval() 计算 JavaScript 字符串,并把它作为脚本代码来执行。
isFinite() 检查某个值是否为有穷大的数。
isNaN() 检查某个值是否不是数字。
Number() 把对象的值转换为数字。
parseFloat() 解析一个字符串并返回一个浮点数。
parseInt() 解析一个字符串并返回一个整数。
String() 把对象的值转换为字符串。
unescape() 对由 escape() 编码的字符串进行解码。
1.<html>
2.	<head>
3.		<title>Untitled Document</title>
4.		<script>
5.			function testEval() {
6.				var a="alert('你们好')";
7.				var b="var c=0;";
8.				
9.				eval(b);  //var c=0;
10.				
11.				alert(c);
12.//				var a1 = 'alert("你们好!")';
13.//				var b="var c=11;";
14.////				alert(a);
15.//				alert("你们好");
16.//				eval("var c=11;");   
17.//				var c=11;
18.//				var c=11;
19.//				alert(c);
20.			}
21.			
22.			function testParse() {
23.				var d="3.555";
24.				var e1="abd";
25.				
26.				var d1= parseFloat(d);
27.				var d2=parseInt(d);
28.				var e2=parseInt(e1);
29.				
30.//				alert(1+d);
31.//				alert(1+d1);
32.				alert(d2);
33.//				alert(1+d2);
34.//				alert(e2);
35.				
36.				if(isNaN(e2)) {
37.					alert("I'm a NaN");
38.				}
39.				
40.				if(e2!=e2) {
41.					alert("我不是我");
42.				}
43.
44.				if(isFinite(e2)) {
45.					alert("我是一个正常的number");
46.				}
47.
48.			}
49.			
50.			function testEscape() {
51.				var  str="中国";
52.				var str1 = escape(str);
53.				var str2 = unescape(str1);
54.				alert(str1);
55.				alert(str2);
56.			}
57.			
58.			function testDecode(){
59.				var myurl='http://www.baidu.com/中国';
60.				var u1=encodeURI(myurl);
61.				var u2=decodeURI(u1);
62.				alert(u1);
63.				alert(u2);
64.			}
65.			
66.		</script>
67.	</head>
68.	<body>
69.	<a href="javascript:void(0);" onclick="testEval();">测试eval方法</a>
70.	<a href="javascript:void(0);" onclick="testParse();">测试parse方法</a>
71.	<a href="javascript:void(0);" onclick="testEscape();">测试escape方法</a>
72.	<a href="javascript:void(0);" onclick="testDecode();">测试Decode方法</a>
73.	</body>
74.</html>

在 JavaScript 核心语言中,全局对象的预定义属性都是不可枚举的,所有可以用 for/in 循环列出所有隐式或显式声明的全局变量,如下所示:

1.<html>
2.<body>
3.<script type="text/javascript">
4.var variables = "";
5.for (var name in this) 
6.{
7.variables += name + "<br />";
8.}
9.document.write(variables);
10.</script>
11.</body>
12.</html>

猜你喜欢

转载自blog.csdn.net/qq_43623447/article/details/104052293