写好JS的原则 各司其职 让HTML,css,JavaScript职能分离 组件封装 好的UI组件具备正确性,扩展性,复用性 过程抽象 应用函数式编程思想 HTML/CSS/JS各司其职 应当避免不必要的由JS直接操作样式 纯展示类交互寻求零JS方案
组件是指Web页面上抽出来一个个模板(HTML),功能(JS),和样式(CSS)的单元。好的组件具备封装性,正确性,扩展性,复用性 行为:控制流 使用自定义事件来解耦 抽象 定义组件接口:在组件框架中,定义一组标准的接口,用于描述组件应该具备的行为和功能。 这些接口可以包括组件的生命周期方法、事件处理方法、数据传递方法等。通过定义统一的接口, 可以使不同的组件之间实现解耦,并为开发者提供一致且简单的使用方式。 实现组件封装和继承:组件框架通常提供组件的封装和继承机制。通过这些机制, 开发者可以定义新的组件,并从现有的组件中继承一些通用的功能。这样可以减少重复的代码, 提高代码的复用性和可维护性。 提供事件驱动机制:组件框架通常会提供事件驱动的机制, 用于处理组件之间的通信和交互。通过定义和触发事件,可以实现组件之间的解耦和松散耦合。 开发者可以通过监听事件和相应事件来实现组件之间的协作。 集成数据管理机制:组件框架可以提供数据管理的机制,用于管理组件的状态和数据。 这些机制可以包括单向数据流、状态管理、数据共享等。通过统一管理数据, 可以使组件更容易管理和维护,同时提供更高效的开发方式。 扩展性和灵活性:好的组件框架应该具备良好的扩展性和灵活性。 开发者可以在框架的基础上自由扩展新的功能和特性。框架应该提供一些标准的扩展点和插件机制, 以便开发者能够方便地进行扩展和定制。将组件通用模型抽象出来 过程抽象 用来处理局部细节控制的一些方法 函数式编程思想的基础应用 高阶函数:高阶函数是指能够接受一个或多个函数作为参数,并/或者将一个函数作为返回值的函数。 通过使用高阶函数,我们可以将代码逻辑抽象出来,使其具备通用性。 函数作为参数:将函数作为参数传递给另一个函数,可以实现对代码逻辑的抽象。 通过将不同的函数传递给同一个函数,可以实现不同的行为。这样可以将代码中的重复逻辑抽象出来并进行复用。 函数作为返回值:函数作为返回值可以实现更灵活的控制流程。通过根据不同的条件返回不同的函数, 可以根据实际需求来处理逻辑。这样可以使代码更具通用性和灵活性。 函数装饰器:函数装饰器是一种将其他函数作为参数并返回一个新函数的函数。 它常用于为函数添加附加功能,比如日志、缓存、权限校验等。通过使用函数装饰器,可以实现对函数功能的动态扩展,而不需要修改原来的函数体。