JavaScript知识点总结
1、js的基本数据类型
Number、String、Boolean、Null、Undfined
- 对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式(name:value)来定义。属性由逗号分隔:
对象属性有两种寻址的方式:
- Undefined这个值表示变量不含有值。可以通过将变量的值设置为null来清空变量。
- 当你声明新变量时,可以使用关键词"new"来声明其类型
还有复杂数据类型:Object(Array、Json等)
2、js有哪些内置对象
Object是所有JS中所有对象的父对象
数据封装类对象:Object、Array、Boolean、Number、String
其他对象:Function、Arguments、Math、Date、RegExp、Error
3、js基本规范
1、不要在同一行声明对个变量
2、请使用==或者!==来比较true或者false的值
3、使用对象字面量(json)替代new Array这种形式
4、不要使用全局函数
5、switch语句带有default分支
6、函数不应该有时候有返回值,有时候没有返回值
7、for循环必须使用大括号
8、if语句必须使用大括号
9、for-in循环中变量,应使用var关键字明确限定作用域,从而避免作用域污染
4、DOM怎样添加、移除、复制、创建和查找节点
//创建一个新节点
createDocumentFragment()//创建一个DOM片段
createElement()//创建一个具体的元素
createTextNode()//创建一个文本节点
//添加、移除、替换、插入
appendChild()
removeChild()
replaceChild()
insertBefore() //在已有的子节点前插入一个新的子节点
//查找
getElementsByTagName()//通过标签名称
getElementsByNmae()//通过元素的Name属性的值
getElementById()//通过元素id,唯一性
ES6知识点总结
let和const命令
let用来声明变量,只在let命令所在的代码块中有效。
表明:let声明的变量只有它所在的代码块中有效
for循环的计数器很适合使用let命令
上面的代码中,计数器i只有在for循环体内有效,在循环体外引用就会报错
上面代码中,变量i时var命令声明的,在全局的范围内都是有效的,所以全局就只有i一个变量,每一次循环,变量i的值都会发生改变,而循环内被赋给数组a的函数内部console.log(i),里面的i指向的就是全局变量i。所以最后输出的值为10。
上面代码中,变量i时let声明的,当前的i只有本轮循环有效,所以每一次的i其实都是一个新的变量,所以最后输出的值为6。
const命令
基本规则:
- 声明只读常量
- 声明后不可以修改
- 一旦声明必须赋值,不赋值会报错
- const的作用域只在声明的块级域内有效
- 声明的常量不提升,存在暂时性死区,只能在声明的位置后面使用
- const声明的常量,与let一样不可重复声明
为什么会出现块级作用域
1、内层变量可能覆盖外层的变量
2、用来计数的循环变量会变为全部变量
解构对象
- 基本赋值
- 无声明赋值
- 给新的变量名赋值
- 默认值
- 给新的变量名并提供默认值
- 对象传参解构
- 解构嵌套对象和数组
- For of迭代和解构
解构数组
变量声明并赋值时的解构
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。