js基础的东西有很多还是不容忽视的,记录保存下来就可以时刻查看了(更深刻的理解)。

  • js脚本特点:基于对象、多范式、动态性。
  • 数字转字符串性能排列:
  • 性能如下:3>2>1>4
  • 方式:num.toString()/String(num)/num+''/new String(num)
  • 字符串转数字性能排列:
  • 性能如下:3>2>1>4
  • Number(str)/parseInt(str) parseFloat(str)/str-0 +str -str str*1 +new Date/new Number(str)
  • 经常不知道==和===怎样判断才好?
  • ==在比较的时候先做类型转换再比较;===直接比较,比较类型和值是否都相等。
  • ==如果有一边是数字或者有布尔值,会把两边先转换为数字再比较。
  • ==如果有对象类型的话,会先把对象转化为基本数据类型再去比较(valueof()),如果对象转化为基本数据类型失败,会使用toString()方法去转换。
  • 内置对象:Date /Array /Math(单体对象)/String/RegExp/Error
  • Array常用方法
  • push
  • pop
  • unshift
  • shift
  • slice
  • reverse
  • join
  • sort(比较时是根据unicode码比较的,先比较各自最高位,再依次比较下一位)。sort(function(){})方法中可以传递回调函数,回调函数中可以传两个参数代表数组中相邻的两个元素,在返回值中可以设置一元表达式,判断后可以选择返回一个正数或者负数,正数代表交换位置。(默认正序)规则:返回值大于0交换位置,小于0不交换,等于0保持相对位置。
  • indexOf(indexOf不能传递正则表达式,search和match可以传递。)
  • forEach
  • map(可以在原数组进行操作并返回新的数组)。
  • String常用方法
  • slice(start,end)(可以传负值)
  • substr(start,length)(每个参数必须为正值)
  • substring(start,end)
  • replace(匹配的子串,替换的字符串)
  • split('子串')
  • indexOf
  • charAt(index)
  • search
  • match(也可以传正则表达式,此方法尽量不要使用全局匹配,使用的话会把分组覆盖掉)
  • toLowerCase()
  • toUpperCase()
  • concat
  • Error常用方法
  • throw()手动抛异常
throw new Eooro('参数异常');   try{//maybe error}catch(e){//handle error}
  • nodeType: 1 element;2 attribute node;3 text node; 8 注释 ;9 document;11 文档片段 documentFragment(透明盒子)
  • nodeName:DIV P 获取到的都是大写。
  • insertBefore(new node,old node)/replaceChild(new node,old node)/removeChild(node)
  • instanceof使用:返回布尔类型值;console.log(per instanceof Person);(Person是构造函数) 构造函数的返回值为值类型,会被忽略return语句;相反返回值为引用类型,就会将该引用类型数据返回。

好了,先说到这里,下一篇博客开始说面向对象面向对象初识篇,基础也是不可或缺的呀!