乐趣区

JavaScript学习笔记

JavaScript

  1. 严格区分大小写;
  2. 数据类型:

    • Number:不区分整数与浮点数;
    • 字符串:
    • 布尔值:
  3. 相等运算符:

    • ==:会自动转换数据类型再比较;
    • ===:不会自动转换数据类型,数据类型不一致则返回 false;
    • NaN,表示 Not a Number 与所有其他值都不相等,包括自己;
  4. null:表示一个空的值,与 0 和空字符串 '' 不同,0 是一个数值,''表示长度为 0 的字符串,而 null 表示 ” 空 ”;
  5. undefined:表示 ” 未定义 ”;
  6. 数组定义方式, 索引起始值为 0:

    • new Array(1, 2, 3);
    • 直接使用[], [1, 2, 4];
  7. 对象都是一组由 键 - 值 组成的无序集合,键都是字符串类型,如果键中含特殊字符,就必须用 括起来,访问时用 ['xxx'] 方式,值可以是任意数据类型,获取对象属性方式:对象变量. 属性名
  8. 多行字符串:用反引号 `…` 表示;
  9. 模版字符串:自动替换字符串中变量,message = 'hello,${name}, your age is ${age}'
  10. 字符串是不可变的,对字符串的某个索引赋值既不会引起错误,也不会改变字符串;
  11. 直接给 Arraylength赋新值会导致 Array 大小的变化,可以通过索引改变对应元素的值,索引超过范围时同样引起 Array 大小的变化;
  12. push()向 Array 末尾添加若干元素,pop()把最后一个元素删除;
  13. unshift()Array 头部添加若干元素,shift()删除第一个元素;
  14. splice():从指定索引开始删除若干元素,然后再从该位置添加若干元素;
  15. concat():将两个 Array 连接起来,返回一个新的 Arrayjoin()Array的每个元素都用指定字符串连接起来,再返回连接后的字符串;
  16. 判断一个属性是否为对象自身所有,而不是继承得到,可用 hasOwnProperty() 方法;
  17. JS中把 nullundefined0NaN 和空字符串 ” 视为false,其他都视为true
  18. Set是一组 key 的集合,不存储 value,由于key 不能重复,所以 Set 中没有重复的key,常用方法:adddelete
  19. Map是一组键值对的结构,具有极快的查找速度,初始化时需要一个二维数组,或者直接初始化一个空Map,常用方法:sethasdeleteget
  20. 遍历 Array 可用下标循环,遍历 MapSet则无法使用下标,引入 inerable 类型 (ArrayMapSet 都属于)通过 for...of 循环来遍历;
  21. for...in遍历的是对象的属性名称,for...of循环的是集合本身的元素,更好的方式是使用内置的 forEach 方法,接受一个函数,每次迭代自动回调函数;
  22. let代替 var 可以申明一个块级作用域的变量;
  23. 对数组元素进行解析赋值时,多个变量要用 [...] 括起来,eg:let [x, [y, z]] = ['k', ['cunyu', 'chuzihang']]
  24. 指定函数的 this 指向哪个对象可用函数本身的 apply 方法,接受两个参数,第一个是需要绑定的 this 变量,第二个是Array,表示参数本身的参数;
  25. apply()把参数打包成 Array 再传入,call()把参数顺序传入;
  26. filter用于把 Array 的某些元素过滤调,然后返回剩下的元素;
  27. 自带 sort 函数是按照 ASCII 的大小比较的;
  28. 返回闭包时,返回函数不要引用任何循环变量或者后续会发生变化的变量;
  29. 箭头函数,相当于匿名函数,含多个参数时,要用 () 括起来;

欢迎关注微信公众号:村雨 1943;创作不易,未经同意,转载请注明出处~

退出移动版