首页 > 其他分享 >002 模块化开发

002 模块化开发

时间:2022-10-10 16:57:59浏览次数:36  
标签:render dom 模块化 age js 002 开发 组件

[A] 模块与组件,模块化与组件化的理解   模块     1. 向外提供特定功能的js程序,一般就是一个js文件,其本质是一系列的js语句集合     2. 为什么要拆分模块,随着业务逻辑的增加,代码量会越来越大且更复杂     3. 作用:复用js,简化js的编写,提高计算的执行效率
  模块化:     当应用的js由若干得到模块拆分组合而成。则该项目为模块化的
  组件:     1. 用来实现局部功能效果的代码和资源的集合(html,js,image...等),其本质是一系列资源的集合     2. 之所以需要拆分组件,是因为一个页面的功能会很复杂,拆分组件会逻辑清晰     3. 作用:实现代码复用,简化项目编码,提高运行效率

[B] react中的组件   函数式组件:     即组件被定义为一个函数,该函数的返回值为一个html标签,通过组件引用的方式调用这个函数     示例:

            function Demo() {
                return <div>hello, woshi Carrey</div>
            }
            const dom = document.getElementById('box')
            ReactDOM.render(<Demo/>, dom)
    注:       函数名必须首字母大写
    类组件:     即组件被定义为一个拓展类,拓展React.Component     示例:
      class MyComponent extends React.Component {
        render() {
          return <div>我是类组件</div>
        }
      }
      const dom = document.getElementById('box')
      ReactDOM.render(<MyComponent/>, dom)
    注:       1. 函数名必须首字母大写       2. 拓展类里面,必须有一个render方法,用于返回当前类所定义的组件内容       3. render中的this指的就是当前拓展类的实例化的对象       4. ReactDOM.render(<MyComponent/>, dom)做了什么         (1) React解析组件,找到了MyComponent组件         (2) 发现该组件是通过类定义的,随后通过new方法实例化该类的实例,并通过调用实例调用到原型上的render方法         (3) 将render返回的虚拟DOM转为真实的DOM,随后呈现在页面上
[C] js中class类的知识点复习   1. 基础语法
    class Person {
      constructor(name, age) {
        this.name = name
        this.age = age
      }
      speak() {
        console.log(`我是${this.name}, 今年${this.age}岁了`)
      }
    }
  2. 类中的方法是挂载在类的原型对象上的,供类的实例化对象使用   3. 类中的方法(如speak)内部是默认采用严格模式书写的, 因此若单独提取出类中的方法(如 var a = p.show; a()),其内部的this指向undefined    

标签:render,dom,模块化,age,js,002,开发,组件
From: https://www.cnblogs.com/carreyBlog/p/16776264.html

相关文章

  • 驱动开发:内核通过PEB得到进程参数
    PEB结构(ProcessEnvirormentBlockStructure)其中文名是进程环境块信息,进程环境块内部包含了进程运行的详细参数信息,每一个进程在运行后都会存在一个特有的PEB结构,通过附......
  • STM32开发笔记
    @目录前言总结中断温度采集版本KEIL4里面添加BAT文件大小端模式volitale关键字STM32的引脚电压多少伏算高电平,多少伏算低电平问题串口通讯当使用9600波特率的时候,通讯稳定,......
  • 005Java开发环境搭建
    005Java开发环境搭建1、JDK下载与安装(1)卸载首先我们先来学习一下如何卸载JDK。删除Java的安装目录(jdk整个包)。删除环境变量里的“JAVA_HOME”。删除Path下关于Java......
  • 搞AI开发,你不得不会的PyCharm技术
    摘要:PyCharm在AI项目开发提供了优秀的代码编辑、调试、远程连接和同步能力,在开发者中广受欢迎。使用PyCharm插件配合ModelArts:一键帮助用户配置远程ModelArtsNotebook,......
  • Dapp系统开发与web3.0技术实现
     Web3.0背后的概念是,让数据本身依托于开放的数学算法与协议,不依赖于机构甚至个人。建于Web3.0的应用程式称为DApp(DecentralizedApplication),强调网路开放而且分散地安......
  • 002 冒泡排序
    //冒泡排序从右缩小范围最小值放在最右边publicstaticvoidbubbleSort(int[]arr){if(arr==null||arr.length<2){return;......
  • Java开发相关软件的历史版本
    JDK或Java版本JDKReleaseshttps://www.java.com/releases/部分版本的日期:2014-03-18  Major  8LTS,即JAVA82018-09-25  Feature  11LTS,即JAVA1......
  • Git&Gitlab开发流程与运维管理
     Git&Gitlab开发流程与运维管理  作者刘畅时间2020-10-31 实验系统版本centos7.5主机名称ip地址配置安装软件controlnode172.16.1.1204核/8G/60Gdocker、git、gitlabsla......
  • 《MiniPRO H750开发指南》第四十四章 内存管理实验
    第四十四章内存管理实验​如果我们所用的内存都是直接定义一个数组来使用,灵活性会比较差,很多时候不能满足实际使用需求。为了解决这些问题,我们来学习内存管理,实现对内存的动......
  • JS模块化—CJS&AMD&CMD&ES6-前端面试知识点查漏补缺
    本文从以时间为轴从以下几个方面进行总结JS模块化。从无模块化=>IIFE=>CJS=>AMD=>CMD=>ES6=>webpack这几个阶段进行分析。历史幼年期:无模块化方式需要......