乐趣区

关于javascript:如何通过闭包对象管理程序中状态的变化学习笔记-day3

值的不可变
原始类型
不可能扭转一个原始类型的值
对象类型
值是可变的
React.js 中的 props 和 state
props
通常是作为一个内部参数,传入到函数里。
作为动态元素输入在 UI 中渲染。
state
是一个外部变量。
作为动静元素输入在 UI 中渲染。
props 和 state 都是用对象来存储状态的。
构造值不可变
props 和 state 是不是必须的?
props 是必须的,state 不是
如果利用和用户之间有交互,就须要治理值的状态,和围绕值设计一些列行为。这个过程中,咱们须要思考的就是一个值的构造不可变的问题
闭包和对象
这两者都能够对一个状态值进行封装和创立因为。
闭包最大特点是能够冲破生命周期和作用域的限度
当一个内部函数内嵌一个外部函数时,如果内嵌函数援用了内部函数的变量,这个变量就会冲破生命周期的限度,在函数完结执行后,依然存在。
冲破作用域的限度是指,咱们能够把一个外部函数返回成一个办法在内部调用。
单纯从值的状态治理和围绕它的一系列行为的角度来看,咱们能够说闭包和对象是同状态的(isomorphic)。
差别:在隐衷、状态拷贝、性能。在结构性的解决值的问题,具备不同的优劣势
属性的查改
闭包:除非通过接口,也就在内部函数中返回外部函数的办法,不然外部是不对外的
对象:不须要非凡的形式,就能够获取对象中的属性和从新赋值;Object.freeze()- 将对象设置为只读 >writable: false
状态的拷贝
如何解决拷贝性能问题?

退出移动版