前端基础开发之
javascript
CaelumTian@SIPC115
javascript基础数据类型
- 整形(Number)
- 浮点型(Number)
- 字符型/字符串(String)
- 布尔型(boolean)
- 数组 (Array)
- 对象 (Object)
特殊类型
- null (一个不存在或者为空的对象)
- undefined (当一个变量没有赋值)
- NaN (想表示成数字,但是失败了,js中唯一一个不等与自身的东西)
- Infinity (无穷大常量)
- Error (异常对象)
正确判断数据类型
- typeof 运算符
- 对于无法判断的特殊内容:null, NaN
- 复杂内容同样无法给出答案:constructor (iframe不行)
- 引入完美方案:Object.prototype.toString.call()
- 完整方案并不完美(IE下存在问题)
基本运算
- 不同类型相加 “+” (其余运算没有问题)
- 改变数据类型 parseInt(字符串[, 进制]), parseFloat
- parseInt 和 Number的区别
- toString方法的覆盖
- 使用 === 而不使用 ==
字符串操作
- 字符串拼接 “+” 调用 toString方法(非字符串内容)
- 优化方式:[].join(),即保存在数组中拼接
- 字符串长度:str.length 可以通过,可以通过下标方式访问
- 不可以直接修改
- 字符串截去:str.slice(n, m) (x >= n , x < m)
- replace, 正则表达式, substr, substring
数组操作
- 字面量形式声明:var arr = [];
- 数组长度:arr.length, 数组切片arr.slice
- sort 方法(排序):
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值。
- 遍历方法:forEach, filter, map等(value, index, arr)
- 警惕伪数组 [].slice.call 转换
对象操作
- 字面量形式声明:var arr = {};
- 可以定义任意内容,类似关联数组(暂时这么理解)
- 纯净的对象:{}, hasOwnProperty判断内容是否自带
- for in 遍历(后面讲)
- JSON可以看成一种对象
循环
- for 基本循环:
- 注意:没有块级作用域
- for in循环:遍历对象所有属性
- for in 遍历(后面讲)
- JSON可以看成一种对象
- while循环
- 循环中止:break, continue 循环标记
判断
- if() {} else {}
- 注意:没有块级作用域
- 注意使用全等符号 === 不要使用 ==
- Boolean 构造函数
函数
- function
- 参数:arguments
- js中函数没有重载,无法设置默认值
- 只能依靠arguments.length switch模拟重载
- 建议函数有返回值(return 没有undefined)
- 函数中对外部变量的引用
- 匿名函数的使用
- 函数提升和变量提升
下节课
- js 对DOM的简单操作
- jquery 对DOM的简单操作
- 事件的添加与使用
- jquery动画和css动画的处理
- 其他方向的展望
deck
By caelumtian
deck
- 288