vue响应式原理就涉及到发布-订阅模式
(1)是什么
(2)手写
见=》JavaScript手写题_Kw_Chng的博客-CSDN博客
可以嵌套多层,每一层块级作用域都不受其他作用域的影响
内层作用域可以定义外层作用域的同名变量
在块级作用域中,匿名立即执行函数表达式(匿名 IIFE)不再必要了
对于ES6的浏览器,函数声明类似于var
,即会提升到全局作用域或函数作用域的头部,函数声明还会提升到所在的块级作用域的头部。其他环境中,块级作用域之中,函数声明语句的行为类似于let
,在块级作用域之外不可引用。考虑到环境导致的行为差异太大,应该避免在块级作用域内声明函数。如果确实需要,也应该写成函数表达式,而不是函数声明语句。
6种,ES5中的var
命令和function
命令。ES6 除了添加let命令
、const
命令、import
命令、class
命令。
任何环境下,globalThis
都是存在的,都可以从它拿到顶层对象,指向全局环境下的this
解构赋值允许等号左边的模式之中,不放置任何变量名
变量的解构赋值:
undefined
对象的解构赋值:
undefined
字符串的解构赋值:
length
属性,因此还可以对这个属性解构赋值数值和布尔值的解构赋值:
函数参数的解构赋值:
圆括号:
如果要将一个已经声明的变量用于解构赋值,将整个解构赋值语句,放在一个圆括号里面,就可以正确执行。声明变量不可使用圆括号,函数参数解构也不能带圆括号,赋值语句也不可带圆括号
结构变量的用途: