"JavaScript笔记1"
这篇笔记主要涵盖了JavaScript的基础知识,包括函数定义、元素操作、数据类型处理、JSON的理解以及CSS操作,同时也涉及了DOM操作、字符串处理、排序算法、运动效果的实现以及事件处理和Ajax请求。以下是这些知识点的详细说明:
1. **函数定义与元素操作**:
- `window.onload` 用于确保整个页面加载完成后再执行函数,避免因元素未加载而引发的问题。
- `getElementById` 用于获取ID唯一的元素,而`getElementsByTagName` 返回一个包含指定标签名所有元素的集合,只能对单个元素操作。
2. **数据类型与比较**:
- `NaN` 表示非数字,与任何数运算的结果都是`NaN`,且`NaN !== NaN`,判断是否为`NaN` 使用 `isNaN()` 函数。
- `==` 运算符会尝试转换类型后比较,而 `===` 是严格相等比较,不会转换类型。
3. **命名约定**:
- 匈牙利命名法在变量名前加上类型前缀,首字母大写表示变量。
4. **JSON理解**:
- JSON(JavaScript Object Notation)的键必须是字符串,它没有内置的`length`属性,你需要遍历JSON对象以了解其内容。
- 用 `for...in` 循环可以遍历JSON对象的属性。
5. **函数参数**:
- 函数可以接受不定数量的参数,通过`arguments`对象访问,如`arguments[i]`。
6. **CSS操作**:
- `css(oDiv, 'backGround', 'green')` 用于设置背景颜色,`css(oDiv, 'backGround')` 获取背景颜色。
7. **DOM操作**:
- 在DOM中,元素插入通常会放到其父元素的末尾,可以通过特定方法进行排序。
- `getElementsByClassName` 和 `getElementsByTagName` 分别用于获取指定类名或标签名的元素集合。
- 表格操作,如`rows[i]` 获取行,`cells[i]` 获取单元格内容。
8. **字符串处理**:
- `search()` 方法用于在字符串中查找指定字符或模式,返回位置索引,未找到则返回-1。
- `split()` 方法用于根据分隔符将字符串切割成数组。
9. **排序与运动效果**:
- 排序通常需要将元素放入数组,对数组进行排序,然后根据新顺序添加到DOM中。
- `Math.floor()`、`Math.ceil()` 和 `Math.abs()` 分别用于向下取整、向上取整和计算绝对值,常用于动画效果中。
10. **事件处理**:
- 取消事件冒泡可以阻止事件从子元素向父元素传播。
- 阻止默认事件可通过 `return false` 或在事件处理函数内阻止。
- `addEventListener` 与 `attachEvent` 分别用于非IE浏览器和IE浏览器的事件绑定,注意事件名称的区别。
11. **Ajax异步请求**:
- Ajax用于与服务器进行异步通信,这里定义了一个函数,接收URL、成功回调和失败回调作为参数。
这些笔记内容是JavaScript学习中的基础部分,理解和掌握它们对于进阶学习和实际开发非常重要。