[TOC]
# 案例1:获取页面中的五个按钮
![](https://img.kancloud.cn/6e/fa/6efa87d0615fa6b1066104c67f8ff96b_432x134.png)
## 知识点:节点对象Element
```
Live Node = document.getElementById("id")
Live Node List = document.getElementsByClassName("class")
Live Node List = document.getElementsByName("name")
Live Node List = document.getElementsByTagName("tagname")
Static Node = document.querySelector("selector")
Static Node List = document.querySelectorAll("selector")
```
# 案例2:实现网页计算器
![](https://img.kancloud.cn/f8/42/f842fff11eeab6766be97c4a41dca3c9_297x187.gif)
## 知识点1:获取/修改值和文本
![](https://img.kancloud.cn/7e/43/7e437b850b8aa2a3ad1b1e792166d8de_339x145.png)
> ele.innerHTML或ele.innerText = newText
> ele.value = newValue
## 知识点2:函数调用及传参
* 通过事件调用
* 通过链接调用
> 函数形参不需要var
> 函数返回值需要return
## 知识点3:全局函数eval
| 方法名 | 描述 |
| --- | --- |
| **isNaN(X)** | 判断X是否为非数字 |
| **eval(X)** | 计算X字符串(作为脚本代码执行) |
* [ ] 试一试
![](https://img.kancloud.cn/f9/65/f965539a5a987815182d8259a61b37ab_311x107.png)
# 案例3:实现网页开关灯
![](https://img.kancloud.cn/58/77/58775cc3b6fc23dee16bbccb1591859f_239x312.gif)
> `ele.style.XXX = newValue`
> `ele.attr = newValue`
![](https://img.kancloud.cn/0d/35/0d35ffe65bfb298cdc717abf0b3d6f7c_782x216.png)
# 案例4:留言板
![](https://img.kancloud.cn/f4/64/f464b76aeb7d295da63c29686ccc29ef_445x314.png)
## 知识点1:Array初始化
![](https://img.kancloud.cn/33/45/33457ebf39753d2e19f7aafbd0a7a08c_267x343.png)
## 知识点:Array常用方法
![](https://img.kancloud.cn/40/0e/400efb42142167625c46482b696dbd29_329x274.png)
# 案例5:将URL中的参数提取为对象
![](https://img.kancloud.cn/8e/1c/8e1c5afc2ba8b3d6827bceea5a9609e7_556x238.png)
## 知识点1:String初始化及常用方法
![](https://img.kancloud.cn/48/4f/484fd598cd2b1c1d8adcbe52cba93978_390x277.png)
1. 字符长度 `str.length`
2. 字符方法
```
charAt(index) //获取指定位置处字符
charCodeAt(index) //获取指定位置处字符的ASCII码
str[0] //HTML5,IE8+支持 和charAt(0)等效
```
3. 位置方法
```
indexOf(char) //返回指定内容在元字符串中的位置
lastIndexOf() //从后往前找,只找第一个匹配的
```
4. 字符串操作方法
```
concat() //拼接字符串,等效于+,+更常用
slice() //从start位置开始,截取到end(取不到)
substring() //从start位置开始,截取到end(取不到)
substr() //从start位置开始,截取length个字符
```
5. 其他
```
trim() //只能去除字符串前后的空白
to(Locale)UpperCase() //转换大写
to(Locale)LowerCase() //转换小写
search()
replace()
split() 按照特定字符将字符串分割为数组
```
## 知识点2:对象的创建和访问
```
var x = {};
var car = {type:"Fiat", model:500, online:false};
var obj= {
name1: "value1",
name2 : function()
{
return this.name1 + " " + this.name2;
}
};
```
## 知识点3:创建对象并访问
* [ ] 访问对象属性
```
obj.name1;
obj["name2"];
```
* [ ] 访问对象方法并执行
```res = obj.funName();```
* [ ] 试一试
![](https://img.kancloud.cn/6b/39/6b3912d87b8068b680ac597bebbeb91d_699x378.png)
> 读取了对象不存在的属性,属性值为undefined
## 知识点4:URL编码解码
| 方法名 | 描述 |
| --- | --- |
| **encodeURI(X)** | 将URI编译为ASCII码 |
| **decodeURI(X)** | 解析编译之后的ASCII码 |
# 案例6:使用Math随机生成一种颜色
![](https://img.kancloud.cn/9b/23/9b23dd38022f7b24b2899165816bbde3_323x186.png)
> 试一试:
![](https://img.kancloud.cn/49/55/49555f65299cd122fefda99f6f3c1a4e_448x112.gif)
# 案例7:显示网页时钟
![](https://img.kancloud.cn/e7/68/e768df2211a74eb19cf7f9a5403aaa5a_412x182.gif)
> 注意:日期不足两位,前面补0
## 知识点1:Date初始化
![](https://img.kancloud.cn/d7/39/d7395b4df74589d5bdf4396cf8463061_859x282.png)
## 知识点2:常用方法Date()
![](https://img.kancloud.cn/d8/a7/d8a714cd3660c9486e8690ca274f2935_674x673.png)
# 案例8:验证用户名
> 规则:字母开头,包含字母、数字、下划线长度为4-16位。
![](https://img.kancloud.cn/99/cd/99cd4519db7b7bb0cd7ca4909534f73d_342x206.png)
## 知识点:正则表达式创建与验证
```
var reg = new RegExp();
reg.test(String);
```
> test 检索字符串中指定的值。返回 true 或 false。
## 知识点:其他正则表达式方法
> 1. search 检索与正则表达式相匹配的值。
> 2. match 找到一个或多个正则表达式的匹配。
> 3. replace 替换与正则表达式匹配的子串。
> 4. split 把字符串分割为字符串数组。
```
var string = new String();
string.search(reg);
```
## 试一试:验证手机号
> 规则:以数字1开头的11位数字。
![](https://img.kancloud.cn/f2/8c/f28c9b9c6c028fd1f5254fedc8aa4d27_293x203.png)
> 规则:以0开头的3-4位区号+7-8位座机号码
![](https://img.kancloud.cn/d9/59/d9595b3f2b139aaae252ff5951421342_339x206.png)
## 试一试:验证银行金额
1. 整数部分不超过15位;
2. 数字不能以0开头,除非整数部分就是0;
2. 可以有小数也可以没有小数;
3. 小数部分最多两位。
## 试一试:金额转换
![](https://img.kancloud.cn/a5/bb/a5bbfeeec0fbcafc85eb3c0ce3780cb2_372x152.png)
## 总结: undefined出现的情况
![](https://img.kancloud.cn/e3/dd/e3dd98d507cc81e6fac0a8cd75d280b1_347x540.png)
- 目录
- 1课程介绍
- 2HTML
- 2.1概述
- 2.2常用标签
- 2.3列表标记
- 2.4超链接与图
- 2.5表格
- 2.6表单
- 2.7frameset
- 3CSS
- 3.1样式表
- 3.2选择器
- 3.3样式
- 3.4浮动和定位
- 3.5布局案例
- 3.6CSS3
- 3.7选修
- 4JavaScript
- 4.1JavaScript基础
- 4.2JavaScript变量及函数
- 4.3JavaScript常见对象及操作
- 4.4JavaScript操作DOM&BOM
- 4.5JavaScript事件响应
- 5Ajax
- 5.1Ajax基础
- 5.2Ajax&XML
- 5.3Ajax&JSON
- 6HTML5
- 6.1新标签及媒体
- 6.2Canvas绘图
- 7jQuery
- 7.1jQuery&DOM
- 7.2jQuery&Ajax
- 7.3jQuery动画