JS闭包学习笔记 产生的背景 JavaScript既存的变量使用现状:在JavaScript语言中,存在特别的现象:函数内部可以直接读取全局变量,但是在函数的外部无法读取函数内部的局部变量。特别的:变量的作用域分为:全局变量和局部变量。那如何去读取函数内部的变量到外部呢?一些情况下,由于种种原因我们是需要将函数内部的局部变量获取出来的。所以可以这样实现:在函数1的内部再定义一个函数2,并且将函数2作为函数1的返回值。就可以实现在函数1外部读取它的内部变量。 如下伪代码:function f..
React方向的前端面试题 1、React的生命周期?React中只有类组件有生命周期可言。其中包含三个状态:Mounting:此时已经插入了真实的DOM;Updating:正在被重新渲染;Unmounting:已经移出真实的DOM。生命周期的方法:componentWillMount:在渲染之前调用,在客户端也在服务器端; componentDidMount:在第一次渲染后调用,只在客户端;之后组件已经生成了对应的DOM结构,可以通过this.getDomNode()来访问。还可以在此时进行数据的异步请
函数的链式调用 场景:需要计算经过满减,积分,红包处理后的最后的价格。实现思路:定义三个方法,去改变全局的价格。巧妙使用数组的reduce方法实现。代码:/** * 链式处理 * 外卖订单的总价计算 * 积分、红包、满减 * * */let orderInfo = { total: 50}let actions = [pointHandle, redbagHandle, manjianHandle]let action2=[manjianHandle,pointHan
数组去重方法:filter,reduce filter、reduce实现数组去重。filter实现数组去重代码/** * filter */let ar = [1, 2, 2, 3, 4, 4, 5]let unique_ar = ar.filter((x, index) => { // if(ar.indexOf(x)===index){ // return true // }else{ // return false // } return ar.i
0.1+0.2=0.3吗? 见到这样一个问题:0.1+02=03,是true还是false?首先,它肯定在数学意义上是成立的等式。但是,在计算机的程序中,它不是“真”,是的,就是这样。那为什么呢?且听我细细道来:因为这是在计算机里验证的一个等式,并且需要明白计算机的计算是将指令代码转化为了它自己的语言-二进制,也就是0和1。所以,它在接收到这样一个:“0.2+0.1”的计算指令时,第一步是将两个十进制的数分别转化成了二进制格式的两个数字。要不然,计算机也没法给你算出来啦。那,转化后的值是多少呢?这里,咱们可
vue项目自动化构建到发布:Gitee+nginx+jenkins 操作的流程大概是:首先,在本地编辑器中创建一个可运行可打包的完整的项目,然后将其放到代码托管的远程仓库中。其次,在nginx的配置文件中更改相关的配置信息(项目的端口信息,以及项目入口文件的地址等)。最后,在jenkins里安装git插件,并且通过webHooks与远程仓库建立连接,最终在代码提交时触发自动构建项目,并且在项目的nginx部署地址可以访问到。一、开发工具和版本管理工具这里介绍vue项目的使用VsCode开发,gitee(码云)仓库代码托管。写在前面:vue项目创建
nginx的常用命令 nginx的日常维护命令在LInux等多大数由Unix发展而来的操作系统上,普通的用户的进程只能监听1024以上的端口。至于 1024以下的端口例如80、443等需要由root身份的进程来监听。因此,Nginx的master进程的执行身份应该是root。查看Nginx版本:nginx -v 查看Nginx的版本详情:nginx -V 显示帮助信息:nginx -h 显示帮助信息:nginx -? 检查配置文件是否正确:nginx -t 启动nginx时指定配置文件,否则用默认的/etc/n
发起请求关于-GET和POST思考 最近在找工作,因为之前的工作内容偏向数据交互,所以会 经常遇到GET和POST请求。用的时候只是根据API文档去写的,但是使用它们中的一个的原因是如何来的呢?首先他们是什么呢?GET和POST是什么?HTTP协议中的两种发送请求的方法。从以下几个方面来思考下:关于当前交互数据的安全性 根据API文档说明,能支持哪个? 关于参数的数据格式和长度我们可以根据实践经历总结得到:GET请求中对应上面三个思考:第一:数据可以被放在params里面,可以在控制台看到。或者是直接拼接在请求地址中
js阻止事件冒泡 原文:https://www.cnblogs.com/moqing/p/5590216.html。感谢作者。首先看看事件冒泡是什么?事件冒泡 :当一个元素接收到事件的时候 会把他接收到的事件传给自己的父级,一直到window 。(注意这里传递的仅仅是事件 并不传递所绑定的事件函数。所以如果父级没有绑定事件函数,就算传递了事件 也不会有什么表现 但事件确实传递了。)取消事件冒泡有两种方式:标准的W3C 方式:e.stopPropagation();这里的stopPropagation是标准的..
mxGraph实战(二) 继mxGraph(一)的学习实践,我最近有根据官方的实例实现了图中画布的大小改变,还可以增加右上角的概览窗口。背景:react+mxGraph.要求:实现画布中每个控件有图标,label。 画布可放大,缩小,还原,有个概览窗口。 鼠标移入有提示文字(已经实现:mxGraph学习(一))首先,来看看成果图:原图:放大后的:缩小后的:主要的代码:首先初始化一些mxGraph的样式等参数: ...
mxgraph学习(一) 写在前面:最近项目中有个模块,是需要在页面绘制体现数据从数据库到表数据的变化历史。其中有两个概念:‘数据血源’,‘影响分析’。也就是模仿kettel的呈现效果,在项目页面上直接呈现,不必打开kettel去一一查看数据的历史。大概的背景是这样。雏形:在此基础上我还需要实现:图的可拖动,可放大缩小。以及点击事件等。因此各种找资源学习,以下是一些学习连接:了解mxgraph:https://www.cnblogs.com/shawWey/category/1028607.html。.
react-阻止其他事件触发 //方法onOpenDrawer=(e)=>{ e.stopPropagation(); this.setState({ drawerVisible: true }); }//调用<a onClick={this.onOpenDrawer}>了解更多</a>控制台打印得到的e中有这个:stopPropagation: function destructor()。直接调用就可以。原理来自于DOM:jQ.
基本的HTML问题(一) html中的长度单位:px、em、rem、%、vw、vh、vnim、vmax、calc()某几个详情:px:像素,固定大小,涉及到适配的时候并不好用em:相对于父元素字体的大小,一般也很少用rem:相对于根元素字体的大小(即html标签),经常用于移动端(rem适配)...