一,数组
“数组”即一组数据的集合。
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>