zoukankan      html  css  js  c++  java
  • JS常用的技术

    思考与总结

    1.模块化

    曾看到某大牛说:模块化和组件化是前端开发的一大趋势。所谓的模块化一般是指为了实现一个特定的功能而将所有的代码(对象)封装成一个模块。而AMD就是requireJS为指定模块规范化的一个产出,它具有异步加载、依赖前置、提前执行的特点。CMD则是针对淘宝技术团队开发sea.js提出的一个规范,它具有同步加载、依赖就近、延迟执行的特点。commonJS在后端Node.js就比较常见,以require(module路径)常见、

    2.数据推送

    websocket结合socket.io开发在实时通讯方面是非常强大,可以详见前面的博客内容。即基于Node.js的聊天室

    3.高级函数

    • 惰性函数主要用于第一次调用函数后第二次调用才生效,可以类比XMLHttpRequest,先判断浏览器对其的兼容性,再赋值,此后调用父函数即访问新的值,特点是:一次更改,此后生效。
    • 函数柯里化:主要是合并参数
    • 级联函数:类比jQuery的链式调用。

    4.高级技巧

    • 变量作用域以及闭包,这部分主要是理解变量的声明提升,js预处理环境和执行环境。
    • this:可以使用apply和call方法改变this的指向,apply和call的唯一区别是传参的形式不同。
    • 传递类型分为按值传递和按引用传递。侧重理解按引用传递,包括数组和对象。

    5.面向切面编程

    Aspect Oriented Programming(AOP),即面向切面编程,主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间的低耦合性的隔离效果。

    6.JS多线程

    记得浏览器有个GUI线程

  • 相关阅读:
    Angular2 组件通信
    vue跨组件通信的几种方法
    Angular React 和 Vue的比较
    vue对比其他框架
    ReactJS 生命周期、数据流与事件
    LeetCode 1089. 复写零(Duplicate Zeros) 72
    LeetCode 421. 数组中两个数的最大异或值(Maximum XOR of Two Numbers in an Array) 71
    12
    11
    10
  • 原文地址:https://www.cnblogs.com/jiangcheng-langzi/p/9063075.html
Copyright © 2011-2022 走看看