前端各种方法自我整理

Javascript方法


  • slice [slaɪs]切片

slice (-2)取出数组中倒数两个植变生成一个新数组

slice(0,3)取出数组下标0到下标3的值,生成新数组

注意:slice不会改变数组的长度

  • includes [ɪnˈkluːdz]包含

查看数组或字符串内是否有该值,有返回true,无返回false

例子:arr.includes('a')  //true,false

  • pop

取出数组中最后一个值

例子:var num = arr.pop()

  • push/pʊʃ/

可向数组的末尾添加一个或多个元素,并返回新的长度。

注意: 新元素将添加在数组的末尾。

注意: 此方法改变数组的长度。

提示: 在数组起始位置添加元素请使用 unshift() 方法。

  • shift/ʃɪft/

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

注意: 此方法改变数组的长度!

提示: 移除数组末尾的元素可以使用 pop() 方法

  • unshift

方法用于在数组开头增加一个值,并返回新的长度!

注意: 此方法改变数组的长度!

  • JSON.stringify()

将 JavaScript 对象转换为 JSON 字符串

  • json.parse()/pɑːrs/对…进行语法分析

可以将JSON字符串转为一个对象

  • Object.assign/əˈsaɪn/分配

 Object.assign(target, ...sources)

 参数: target--->目标对象

       source--->源对象

       返回值:target,即目标对象

Object.assign(Father.prototype,{ dance(){ return '我爱跳舞'; } });

向类中添加方法class Father

var result = Object.assign(target,source)

  • toString

把数字转换为字符串

例:num.toString()

  • indexOf

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果没有找到匹配的字符串则返回 -1。

例:str.indexOf("welcome");

  • replace

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串

例:替换第一个,str.replace("Microsoft","Runoob"):

替换全局:str.replace(/blue/g,"red");

  • toLocaleString/loʊˈkæl/语系

方法可根据本地时间把 Date 对象转换为字符串,并返回结果。

还可以将数字变成千分位格式:

例:new Date().toLocaleString() //2021/10/12 下午7:39:06

num.toLocaleString()  //12,345,678

  • join

join() 方法用于把数组中的所有元素转换一个字符串。


webpack.common.js


entry/ˈentri/加入

webpack 会找出有哪些模块和库是入口起点(直接和间接)依赖的

module/ˈmɑːdʒuːl/

        Module(模块)是Webpack中最基本的概念,它代表着一个单独的文件(或一组相关的文件),它可以是JavaScript、CSS、图片、JSON等任何类型的文件。在Webpack中,每个Module都会被转换成一个或多个Chunk。 

        rules/ruːlz/

        创建模块时,匹配请求的规则数组。这些规则能够修改模块的创建方式。 这些规则能够对模块(module)应用 loader,或者修改解析器(parser)。

 plugins插件

 插件 Plugin 用于执行更广泛的任务,例如:打包优化、环境变量注入等


webpack.dev.js 


mode

版本 

devServer 

本地代理服务


webpack.prod.js


output 

输出打包线上文件 


React生命周期


constructor()

constructor()中完成了React数据的初始化,它接受两个参数:props和context,当想在函数内部使用这两个参数时,需使用super()传入这两个参数。

注意:只要使用了constructor()就必须写super(),否则会导致this指向错误。

componentWillMount()

componentWillMount()一般用的比较少,它更多的是在服务端渲染时使用。它代表的过程是组件已经经历了constructor()初始化数据后,但是还未渲染DOM时。

componentDidMount()

组件第一次渲染完成,此时dom节点已经生成,可以在这里调用ajax请求,返回数据setState后组件会重新渲染

componentWillUnmount ()

在此处完成组件的卸载和数据的销毁。

clear你在组建中所有的setTimeout,setInterval

移除所有组建中的监听 removeEventListener


更新过程


static getDerivedStateFromProps(props, state)

/dɪˈraɪvd/获得     获得state来自props

getDerivedStateFromProps 的存在只有一个目的:让组件在 props 变化时更新 state。

shouldComponentUpdate(nextProps,nextState)

主要用于性能优化(部分更新)

唯一用于控制组件重新渲染的生命周期,由于在react中,setState以后,state发生变化,组件会进入重新渲染的流程,在这里return false可以阻止组件的更新

因为react父组件的重新渲染会导致其所有子组件的重新渲染,这个时候其实我们是不需要所有子组件都跟着重新渲染的,因此需要在子组件的该生命周期中做判断

getSnapshotBeforeUpdate(prevProps, prevState)

/ˈsnæpʃɑːt/片段

在 getSnapshotBeforeUpdate() 方法中,我们可以访问更新前的 props 和 state。

componentDidUpdate(prevProps,prevState)

组件更新完毕后,react只会在第一次初始化成功会进入componentDidmount,之后每次重新渲染后都会进入这个生命周期,这里可以拿到prevProps和prevState,即更新前的props和state。

render()

render函数会插入jsx生成的dom结构,react会生成一份虚拟dom树,在每一次组件更新时,在此react会通过其diff算法比较更新前后的新旧DOM树,比较以后,找到最小的有差异的DOM节点,并重新渲染。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/21362.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL的下载、安装和配置(图文详解)

目录 一、MySQL的4大版本 二、软件的下载 1. 下载地址 2. 打开官网,点击DOWNLOADS 3. 点击 MySQL Community Server 三、MySQL8.0 版本的安装 四、配置MySQL8.0 五、配置MySQL8.0 环境变量 六、MySQL5.7 版本的安装、配置 一、MySQL的4大版本 MySQL Commu…

【C++】红黑树

目录 1、红黑树的概念2、红黑树的性质及定义3、红黑树的插入操作 1、红黑树的概念 红黑树是一种二叉搜索树,但在每个节点上增加一个存储位表示节点的颜色,可以是red或black。通过对任何一条从根到叶子的路径上各个节点着色方式的限制,红黑树…

基于非支配排序遗传算法NSGAII的综合能源优化调度(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【Nginx】proxy_set_header的变量与X-Forwarded-For伪造客户端IP漏洞

前言 上面突然说,需要检查Nginx反向代理的安全问题并给出了修改方法,小白的我一脸懵逼,明明都是中文,连在一起咋就看不明白了。于是乎,对着修改内容简单学习了一下,在此做个记录,如有问题请大佬…

【USRP X410】LabVIEW参考架构软件,用于使用Ettus USRP X410对无线系统进行原型验证

LabVIEW参考架构软件,用于使用Ettus USRP X410对无线系统进行原型验证 设备 1 MHz to 7.2 GHz,400 MHz带宽,GPS驯服OCXO,USRP软件无线电设备 - Ettus USRP X410集成硬件和软件,可帮助您制作高性能无线系统的原型&…

WAS 9.0 ND 命令行安装-基于LINUX 8

WAS 9.0 安装文件准备如下: gtk.x86_64_1.8.9004.20190423_2015.zip ----IM安装源文件 sdk.repo.8035.java8.linux.zip ----JAVA安装源文件 was.repo.90501.nd.zip ----WAS安装源文件 …

Maven详见及在Idea中的使用方法[保姆级包学包会]

文章目录 Maven详解1.1 目标1.2 Maven概括1.3 多模块开发1.3.1 pom.xml1.3.2 生命周期1.3.3 依赖特性(多模块1)1.3.4 继承特性(多模块2)1.3.5 dependencyManagement标签1.3.6 Maven-聚合(多模块3)聚合 1.3.6.1聚合总结 Maven详解 1.1 目标 maven是什么?maven能干什么?maven…

机器视觉初步13:3D相机介绍

文章目录 1. 结构光(Structured Light)2. 飞行时间(Time of Flight,ToF)3. 双目视觉(Stereo Vision)4. 线扫描(Line Scan)5. 散斑(Speckle) 在工业…

ROS安装注意事项

输入roscore报错:"roscore" not found 输入 sudo apt install ros-​melodi​c-roslaunch​

深度卷积网络的实际应用

目录 1、三种经典的深度卷积网络 1.1、LeNet-5 1.2、AlexNet 1.3、VGG 2、残差网络 3、Inception 网络(Inception network) 4、迁移学习 5、数据增强 1、三种经典的深度卷积网络 1.1、LeNet-5 使用 sigmoid 函数和 tanh 函数,而不是…

freemarker学习

一、Freemarker引入 二、环境搭建和测试 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/m…

函数和控制流

专栏简介&#xff1a;本专栏作为Rust语言的入门级的文章&#xff0c;目的是为了分享关于Rust语言的编程技巧和知识。对于Rust语言&#xff0c;虽然历史没有C、和python历史悠远&#xff0c;但是它的优点可以说是非常的多&#xff0c;既继承了C运行速度&#xff0c;还拥有了Java…