JavaScript之引用类型

时间:2022-03-15 16:14:50
  • Object类型

    ①创建Object实例:
    A.var person = new Object() <–> new操作符+构造函数Object
    B. var person = {} <–> 对象的字面量形式

    ②访问对象属性:
    A.点表示法 : person.name
    B.方括号法: person[name]

  • Array类型

    ①创建数组 :
    A. var arr = new Array() / Array(3) / Array(‘li’,’jia’,’xin’)
    B.var arr = []; (数组的字面量形式)

    ②检测数组:
    A.arr instanceof Array()
    B.Array.isArray(arr)

    ③转换方法:
    A .toString()返回由数组中每个值且以逗号分隔而成的“字符串”
    B .valueof() 返回的还是数组
    C .toLocalString() 返回每一项的值所组成的字符串

    ④提供的API方法 -》

    栈方法:
    A .push() || 添加到末尾 || 返回修改数组后的长度
    B .pop() || 删除末尾 || 返回删除的数值

    队列方法
    A .unshift() || 添加到首处 || 返回新数组长度
    B .shift() || 删除末尾 || 返回删除的数值

    重排序方法
    A .reverse() || 反转数组项 || 返回新数组
    B .sort(function(a,b){return b-a}) 升序 .sort(function(a,b){return a-b})降序

    其他操作方法
    A .concat()|| 连接 || 基于当前数组创建新数组 原数组不变

    B .slice(1) || 截取1 || 从下标为1到数组长度
    .slice(1,4) || 截取2 || 从下标1到下标4
    .slice(-2,-1) || 截取3 || 相当于 .slice(-2+length,-1+length)

    C .splice(起始位置,个数) || 删除
    .splice(起始位置,0,插入项) || 插入
    .splice(起始位置,要删除个数,要插入项) || 替换

    位置方法
    A .indexOf(要查找项,[起始位置])
    B .lastIndexOf(要查找项,[起始位置])
    以上均返回查找项的位置;查找时会用”===”操作符;若未查找到则返回-1

    迭代方法
    A .every(function(item,index,array){}) 对数组中每一项运行给定的函数,必须每项true,才会返回true

    B .some(function(item,index,array){}) 对数组中运行给定的函数,若任意一项true,则返回true

    C .filter()
    D .map()
    E forEach()

    缩小方法
    A .reduce()
    B .reduceRight()

    数组转化成字符串
    .join()

  • Date类型

    ① .getFullYear() -- 获取4位数的年份 如2016
    ② .getMonth() -- 获取月份 但需注意的是 0表示1月 11表示12月
    ③ .getDate() -- 返回日期月份中的天数(1-31)
    ④ .getDay() -- 返回星期几 其中0表示星期日 6表示星期六
    ⑤ .getHours() -- 返回小时
    ⑥ .getMinutes() -- 返回分钟
    ⑦ .getSeconds() -- 返回秒数
  • RegExg类型(正则表达式,这部分基础知识单独写)

  • Function类型 (函数类型)

  • 基本的包装类型(Boolean类型、Number类型、String类型)

  • 内置对象(Clobal、Math等)

  • 详解String类型

    提供的API操作方法 –》

    ①访问字符串中的特定字符

    A .charAt('位置')
    B .charCodeAt('位置')
    C [‘索引’] - - 方括号+数字索引

    ②操作方法 –》

    A .concat() || 拼接 || 返回新字符串,原字符串不变

    B .slice(3) || 截取1 || 返回从下标3到字符串长度止
    .slice(-3) || 截取2 || 返回-3+length 到 字符串长度止
    .slice(3,7) || 截取3 || 返回从下标3到下标7止

    C .substr(3) || 截取4 || 返回从下标3到字符串长度止
    .substr(-3,-4) || 截取5 || 返回 -3+length 到 0 之间的字符串
    .substr(-3) || 截取6 || 负数当作0来处理

    D .substring(3) || 截取7 || 返回从下标3到字符串长度止
    .substring(3,7) || 截取8 || 返回从下标3到下标7间的字符串
    .substring(-3) || 截取9 || 负数当作0来处理

    ③位置方法 –>
    A .indexOf(要查找项,[起始位置])
    B .lastIndexOf(要查找项,[起始位置])
    C 若查找到返回查找项的位置,若未找到则返回-1

    ④trim()方法
    A .trim() 删除前置及后缀的所有空格
    B .trimLeft() 删除前置的空格
    C .trimRight() 删除后置的空格

    ⑤大小写转换方法
    A .toUpperCase() 转化为大写
    B .toLowerCase() 转化为小写

    ⑥替换
    .replace(要替换的字符串,替换项)

    ⑦比较两个字符串(a.localeCompare(b)
    A 若a等于b 则返回0
    B 若a在b前 则返回-1
    C 若a在b后 则返回1

    将字符串转化成数组 (.split())

    ⑨有字符编码转换成字符串 (.fromCharCode()

  • Clobal对象
    一个完整的ECMAScript解析器 (.eval()

  • Math对象
    ① 最大最小 .min() || .max()
    ②向上取整 Math.ceil()
    ③向下取整 Math.floor()
    ④标准取舍 Math.round()
    ⑤返回0-1之间一个随机数 Math.random()
    ⑥取绝对值 Math.abs()
    ⑦正弦 Math.sin()
    ⑧ 余弦Math.cos()
    ⑨求平方根 Math.sqrt()