js基础

数据类型

  1. 基本数据类型(值类型)__
  2. 引用数据类型:操作的是为空间地址
    • {}
    • []
    • RegExp正则表达式
    • function
  3. typeof的返回值
    • “boolean”
    • “number”
    • “string”
    • “null”—“object”
    • “undefined”
    • “function”

      常用的输出和输入方式

  4. document.write
  5. innerHTML –>能识别标签
  6. innerText –>不能识别标签

    字符串的方法

  7. 字符串:用引号包起来的字符,由一个个字符组成
  8. 空格也是字符
  9. length 字符的个数

    1
    2
    str.length 字符的个数
    str[index]
  10. 字符串的方法

    1. charAt 在字符串中,根据索引的位置查找指定的字符 将其返回
    2. charCodeAt 在字符串,根据索引位置返回相应的字符ASCII编码;每个汉字、字母,都有一个自己的UNICODE编码
    3. substr(n,,m) 从索引n开始截取到m处(不包括m),并返回被截取的字符 不改变原数组
    • substring(n,m)从索引n开始截取到m处(包括m)
      1
      substring支持负数,当m值为负数的时候,m就值得是length+的index
    1. 转换大小写
      • str.toUpperCase() 所有的小写转换为大写
      • str.toLowerCase() 所有的大写转为小写
    2. 将字符串转为数组 split(“分隔符”)
      分隔符-》逗号
      如果分隔符不存在,吧在整体作为数组的一项返回
    3. 字符串替换

      1
      replace(n,m) 用新的替换旧的
    4. 捕获

      1
      macth(字符)

      返回字符的详细信息[字符,索引,原字符串]

    5. 通过字符找索引,找不到返回-1

      1
      search(字符)
    6. trim 去除字符串首尾的空格

      1
      2
      trimLeft()
      trimRight()

Math方法

  1. Math.max 取最大值
  2. Math.min 取最小值
  3. Math.floor 向下取整
  4. Math.ceil 向上取整
  5. Math.abs 取绝对值,正数
  6. Math.round 四舍五入
  7. Math.pow(n,m) n的m次方
  8. Math.sqrt(n) 将n开平方
  9. Math.random() 去0到1之间的随机数
  10. 取n到m之间的随机整数
    1
    Math.round(Math.random()*(m-n)+n;

数组中的方法研究的时候主要看1.参数、2.返回值、3.改变或者不改变原数组

  1. 增加、修改、删除
    1. push() 向末尾增加内容
      • 向末尾增加的数,可为多个
      • 新增的后的length
      • 改变
    2. pop() 删除末尾项
      • 被删除项
      • 改变
    3. shift()删除数组中的第一项
      • 被删除项
      • 改变
    4. unshift() 想数组开头加一项
      • 增加项;
      • 新增后的length
      • 改变
    5. splice(n,m,x) 从索引n开始删除m个元素,并用x代替
      • 把删除的内容以一个新的数组返回
      • 改变原数组
      • splice(n,m)
      • splice(n)
      • splice(0) 可以用于6克隆数组
      • splice(n,0,m) 课用于向数组中增加项
  2. 数组的截取和拼接

    1. slice(n,m)
      • 从数组的索引n开始截取到索引m处(不包括m)
      • 返回值为:被找到的部分组成的新数组
      • 不改变元原来的数组
      • slice(n,m)
      • slice(n)
      • slice(0)/slice()
      • 当n或m的值是负数的时候,n=ary.length+n/m;
      • 当n>m时,返回空数组
    2. concat() 把两个数组拼接到一起,原来的数组不变
      1
      ary1.concat(ary2)
  3. 把数组转换为字符串

    1. toString();
      • 数组
      • 返回值为转化后的字符串
      • 不改变
    2. join(“分隔符”) 把数组中的每一项用分隔符拼接成一个字符串
      • 分隔符,如”+”
      • 拼接后的的字符串
      • 不改变
        1
        2
        3
        4
        eval:js中把字符串转换为表达式的一个方法
        eval("10+20+30")--->60
        把数组中的每一项进项相加求和
        eval(ary.join("+"));
  4. 数组的排序和排列

    1. reverse() 把数组倒过来排序
      • 数组
      • 转换后的数组
      • 改变原数组
    2. sort() 给数组进行排序–》只能处理10以内的数字进行排序,因为他是按照UNTCODE编码进行排列的
      • 数组
      • 排列后的数组
      • 改变
        1
        2
        3
        ary.sort(function(a,b)){return a-b);};
        由小到大排列
        b-a为由大到小排列
  5. 只有在标准浏览器中兼容的方法,在ie6-8不兼

    1. indexOf/lastIndexOf
      字符串中也有这两个方法;
      –》当前内容在数组中第一次/最后一次出现位置的索引,如果数组中没有这一项,返回的结果是-1,如果有这一项,索引是几就返回几,原来的数组不变
    2. forEach/map 都是用来遍历数组中的每一项的–》具体看黑皮笔记本
  6. 更多的数组方法
    1
    console.dir(Array.prototype);

Date

  1. new Date()
    获取当前自己电脑的时间;不能作为重要用途;例如淘宝秒杀等
  2. get Date
    1. time.getMonth()+1
      获取的是0-11月;0代表的即是我们所谓的一月
    2. time.getDate() 获取日期
    3. time.Day() 星期 , 0~6
    4. time.Hours() 小时
    5. time.Minutes() 分钟
    6. time.Seconds() 秒
    7. time.Milliseconds() 毫秒