前端基础开发之

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动画的处理
  • 其他方向的展望
Made with Slides.com