5.1条件判断
- if,switch和C语言中的使用相同,不在赘述。
- 字符串比较算法:
将两个字符串的第一个字符进行比较,字符编码较大者为大,如果相等在继续比较后面的字符,直到其中一个字符串没有后继字串,则较长的字串为大。 - 字符串的相等:两个字串的等长且每个字字符均相等。 空字串""最小。
5.2循环
- js中提供while和for循环;使用方法和C中类似。break,continue也类似。
- for in 的用法,作用:依次访问对象中的每一个成员属性,将其引用放置到变量中。
for(变量 in 对象)
语句;
- 例子:输出window对象的所有属性。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body style="overflow: auto;">
<p>
for in语句是用来对对象的属性进行访问,for in语句循环结束是对象的属性被遍历完。
</p>
<table style="font-size: 12px;font-weight: bold;color: white;font-family: Arial,宋体;background-color: #6090DA;
padding: 4px 10px;">
<tr>
<td>变量i的值是</td>
<td>window[i]的值</td>
</tr>
<script type="text/javascript">
for(var i in window){
document.write("<tr><td>"+i+"</td><td>"+window[i]+"</td></tr>")
}
</script>
</table>
</body>
</html>
结果:
5.4数组对象
- 1.数组对象Array是Javascript的内置对象之一。数组是一种对象的集合,其包含的成员对象被称为数组元素。数组元素可以是任何类型的,通过索引来引用数组元素。索引即下标。
- 2.在js中使用数组的三种方法:
**使用操作符new来生成数组对象实例**
1.arrayObj=new Array();
2.arrayobj=new Array[size];//没有赋初值时,每个元素都为undefined<br>
3.arrayobj=new Array([element0[,element1[...,elementN]]);<br>
// 隐式声明方法
4.arrayobj=[element0,element1,...];//隐式声明方法
例子:
<script type="text/javascript">
var weekdays=["星期天","星期一","星期二","星期三","星期四","星期五"];
weekdays[6]="星期六";//向数组新增元素
document.write("今天是"+weekdays[(new Date()).getDay()]);//获取的getDay()的值是0~6
</script>
- 数组对象的属性和方法
常用属性只有一个length;
数组对象常用方法:<br>
1.pop();删除数组最后一个元素,并返回元素的值;<br>
2.push(item1[item2[...itemN]]);将参数中值依次的插入到数组末尾;<br>
3.reverse();将数组中的元素按照索引进行反转;<br>
4.shift();删除数组第一个元素;<br>
5.sort(Compare);排序;<br>
6.toString();//将数组中各个元素转换成字符串;<br>
7.valueOf();将数组中各个元素转换成字符串对象,用逗号连接后返回。<br>
例子:对输入的字符串进行排序
<script type="text/javascript">
var user_inputs=new Array();
var str;
while(str=prompt("请输入任何内容:")){
user_inputs.push(str);
}
user_inputs.sort();
document.write("您输入的内容排序为:<br>"+user_inputs.join("<br>"));//join方法将数组中的各个元素按照“<br>”连接起来返回一个字符串
</script>
5.4内置eval函数和错误捕获机制
- eval函数是js一个内置函数,实现了js代码的动态执行。动态执行:是程序在执行过程中动态的生成js代码。
- eval函数语法:eval(codeString);该函数接受一个字符串类型的参数,并将该参数当作js语句来执行该字符串由客户端浏览器的js解析执行。执行内容的环境和eval语句所在的上下文相同相当于,在eval代码处写了js代码。
- 优点:根据时间或用户输入的不同情况使程序本事变化。
例子:用eval函数实现计算器的功能。
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=GB2312" />
<title>5-5 简单的JavaScript计算器</title>
<!-- 脚本部分 -->
<script>
function calc(){
try{
document.getElementById("txt_formula").value = eval(document.getElementById("txt_formula").value);
}catch(e){
document.getElementById("txt_formula").value = "错误的算式";
}
}
</script>
</head>
<body style="overflow:auto;">
<label>输入要计算的算式:</label>
<input id="txt_formula">
<input type="button" value="计算" onclick="calc();">
</body>
</html>
注:document.getElementById()函数:根据id属性获取页面中的相应元素对象。
- 异常处理机制
try{
//可能出错的语句
}
catch(e){
//处理出错的语句
}
finally{
//无论是否出错都会执行
}
- js中将异常信息保存在对象e中,对象e没有方法,只有属性。
1.description 返回错误的描述;
2.message 返回错误的信息;
3.name 返回错误名称;
4.number 返回错误代码;