JS 高级开发中常用但较为抽象的概念

编程模式

声明式编程

只描述要实现的结果,不关心如何一步步实现。React 基于声明式编程和函数式编程

命令式编程

每行代码都读懂,然后再整合起来理解总体功能

函数式编程


防抖和节流

防抖

触发高频率事件后n秒内执行一次,如果n秒内高频事件再次触发,则重新计算时间

节流

触发高频率事件内n秒内执行一次,如果n秒内高频事件再次触发,过滤掉,因此节流会稀释执行频率

严格模式

通过在脚本头/函数头包含 "use strict" 以启用
严格模式规定不能使用未定义的变量。严格模式是对 ECMAScript5 的严格限制,以求得更高效的性能和更便捷的调试

严格模式与非严格模式区别?

严格模式不得使用 delete 删除变量名
不允许使用未来保留字 implements interface let package private protected public static 作为变量名或函数名
不允许在语句块中使用函数声明if(a<b){ function f(){} }

什么时候用严格模式?

考验代码性能及维护调试成本