JavaScript 02
目录
一、流程控制语句
1. switch 语句
1.1 switch语句:与java的用法相同;
1.2 使用:
<script>
var a = 1;
switch (a) {
case 1:
alert("number");
break;
case "abc":
alert("string");
break;
case true:
alert("true");
break;
case null:
alert("null");
break;
case undefined:
alert("undefined");
break;
}
</script>
2. while语句
2.1 while语句:与java使用相同;
2.2 使用:
<script>
var a = 1, sum = 0;
while ( a <= 10) {
sum += a;
a ++;
}
document.writeln(sum);
</script>
二、对象
1. Function:函数(方法)对象
1.1 创建:
① var fun = new Function(形式参数列表,方法体);
② function 方法名称(形式参数列表){ 方法体;}
③ var 方法名 = function(形式参数列表){ 方法体;}
<script>
var sum = new Function(a,b, a+b);
function sum(a, b) {
return a+b
}
var sum = function(a, b) {
return a+b;
}
</script>
1.2 属性:
① length:代表形参的个数;
1.3 特点
① 形参的类型,返回值类型可以不用写;
② 方法是一个对象,如果定义名称相同的方法,会覆盖上一个名称相同的方法;
③ 方法调用只与方法的名称有关,与参数列表无关;
④ 在方法声明中有一个隐藏的内置对象(数组:arguments)封装所有的实际参数;
<script>
function sum(a, b) {
return a+b
}
var num1 = 3;
var num = 6;
alert(sum(num, num1));
</script>
<script>
function speak(a, b) {
return a+b
}
var str = "EXO";
var str1 = "2012";
function speak(a) {
return a+"WeAreONE";
}
document.write(speak(str));
</script>
2. Array:数组对象
2.1 创建:
① var arr = new Array(元素列表);
② var arr = new Array(默认长度);
③ var arr = [元素列表];
<script>
var arr = new Array(1, 2, 3, 4);
var arr1 = new Array(4);
var arr2 = [0,1,2,3];
document.writeln(arr + "<br>");
document.writeln(arr1 + "<br>");
document.writeln(arr2 + "<br>");
</script>
2.2 方法:
① join(参数):将数组中的元素按照指定的分隔符拼接为字符串;
② push():向数组末尾添加一个或更多的元素,并返回新的长度;
<script>
var arr = new Array("EXO", "We", "Are", "ONE");
document.writeln( arr.join(" ") + "<br>");
document.writeln(arr.push("ONEONE"));
</script>
2.3 属性:
① length:数组的长度;
<script>
var arr = new Array(1, 2, 3, 4, 5);
document.writeln(arr.length);
</script>
2.4 特点:
① 数组元素的类型不用一致;
② 数组长度可变;
<script>
var arr = new Array(1, "EXO", 3, true, 5);
document.writeln(arr[0] + "<br>");
document.writeln(arr[1] + "<br>");
document.writeln(arr[3] + "<br>");
</script>
<script>
var arr = new Array(1, 2, 3, 4, 5);
document.writeln(arr[0] + "<br>");
document.writeln(arr[10] + "<br>");
</script>
3. Date:日期对象
3.1 创建:var date = new Date();
3.2 方法:
① toLocaleString:返回当前date对象对应的时间,以本地字符串格式;
② getTime():获取毫秒值,返回当前日期对象描述的时间到1970年1月1日零点的毫秒差;
<script>
var date = new Date();
document.writeln(date.toLocaleString() + "<br>");
document.writeln(date.getTime());
</script>
4. Math:数学对象
4.1 构建:Math对象不需要构建,直接使用;如:Math.方法名()
4.2 方法:
① random():返回 0~1 之间的随机数,范围含头不含尾(包含0不包含1);
② ceil():获取比当前数大的最小整数;
③ floor():获取比当前数小的最大整数;
④ round():对数进行四舍五入;
<script>
document.writeln(Math.random() + "<br>");
document.writeln(Math.ceil(5.2) + "<br>");
document.writeln(Math.floor(5.2) + "<br>");
document.writeln(Math.round(5.6));
</script>
4.3 属性:PI;
5. Number、String
6. RegExp:正则表达式对象
6.1 正则表达式:定义字符串的组成规则;
1. 单个字符:[ ]
如:[a]、[ab]、[a-b12-p]
a. 特殊符号代表特殊含义的单个字符;
\d:单个数字字符 [0-9];
\w:单个单词字符[a-zz-exo-2012]
2. 量词符号:
a. ?:表示出现0次或1次;
b. * :表示出现0次或多次;
c. + :出现1次或多次;
d. {m,n} :表示 m <= 数量 <= n({ ,n}:最多nci;{m,}:最少m次);
6.2 创建:
① var reg = new RegExp("正则表达式");
② var reg = /正则表达式/;
<script>
var reg = new RegExp("exo-2012");
var reg1 = /sehun/;
document.write(reg + "<br>");
document.write(reg1);
</script>
6.3 方法:
test(参数):验证指定的字符串是否符合正则定义;
<script>
var reg = new RegExp("exo2012");
document.write(reg.test(reg));
</script>
7. Global:全局对象
7.1 特点:Global中封装的方法不需要对象就可以直接调用;
7.2 方法:
① encodeURI():url编码;
② decodeURI():url解码;
③ encodeURIComponent():url编码,编码的字符更多;
④ decodeURIComponent():url解码;
⑤ parseInt():将字符串转为数字;
(逐一判断每一个字符是否为数字,直到不是数字为止,将前面的数字部分转为number类型)
<script>
var str = "123"
document.write(parseInt(str) + 1);
</script>
<script>
var str = "a123ww"
document.write(parseInt(str) + 1);
</script>
⑥ isNaN():判断一个值是否是NaN;(NaN参与的 == 比较全部为false);
<script>
var num = NaN;
var num1 = 123;
document.write(isNaN(num) + "<br>");
document.write(isNaN(num1));
</script>
⑦ eval():将JavaScript字符串作为脚本代码来执行;
#END