
js
文章平均质量分 60
美美王子
翩若惊鸿
展开
-
get请求、post请求的区别
get、post请求自己接触前端也是许久时间了,但是对get和post请求的认识也还只是停留在网络上大多数人流传的那样: - post比get安全 - post可以传大数据,get传的数据量较少; 就这样,知道我无意间看到了一篇大神的博客,才有了一定体会,自己也去翻阅了http的rfc文档。 - post和get都是http协议定义的,http并没有对他们的传数据方式作一些硬性的要求,但是h原创 2017-05-30 22:27:59 · 379 阅读 · 0 评论 -
node的异步I/O
node是单线程非阻塞异步I/O的模式。 - 阻塞I/O:完成整个数据获取的过程; - 非阻塞I/O:不带数据,直接立即返回,要获取数据,还需通过文件描述符再次读取。node完成整个异步I/O的有事件循环、观察者、请求对象、执行回调; - 事件循环:这是node自身的执行模式。在进程启动时,node会创建一个循环,每执行一次循环就会查看是否有事件处理,有,就取出事件及相关的回调函数。如果存在关原创 2017-08-22 21:48:59 · 455 阅读 · 0 评论 -
Ajax上传文件注意
这几天遇到了很多关于ajax上传文件的问题,都是别人询问我,请求帮忙解决的,但是自己最初在写文件上传的时候,机缘巧合及上传对了,所以也没在意这个问题。在最开始学习jsp的时候,这是一个很简单不过的问题了,就是使用form表单提交,name绑定后台数据,就可以实现,但是在前端里面我最初以为是不同的,所以就直接不管他的name和后台数据是否绑定,结果出错了找都找不到原因。首先 我们在使用ajax上传原创 2017-09-11 22:51:43 · 515 阅读 · 0 评论 -
作用域新学习
作用域是什么当我们将变量引入程序后,这些变量住在哪里,当程序需要的时候如何找到他们?这些问题都需要一个规则来存储变量,并且之后可以方便的找到这些变量,这套规则就被称为 作用域 。(管理变量的规则)JavaScript的编译原理JavaScript语言类型:编译型语言、解释型语言编译 在传统的编译言语的流程中,程序中的一段源代码在执行前会经历三个步骤: (词法解析——语法分析——代码生成)原创 2017-09-03 14:53:02 · 357 阅读 · 0 评论 -
react组件挂载了解
react组件挂载概念 将组件渲染,并构建DOM元素然后插入页面的过程组件内部在挂载是进行的过程——constructor #初始化组件——render() # 挂载——构建DOM元素插入页面再进行挂载过程中还有一些具体的过程——constructor #初始化组件——componentWillMount() #在组件插入页面之前进行——render() #挂载——构建DOM元素插原创 2017-09-03 14:54:43 · 3322 阅读 · 2 评论 -
git 上传项目到分支
- git init - git add . - git commit -m'代码描述' - git remote add origin 远程仓库地址 - git branch xxx # 创建新分支 - git checkout xxx # 转换到新建分支下,也可以一步到位 git checkout -b xxx - git push -u origin xxx补充:git br原创 2017-09-12 14:39:50 · 1003 阅读 · 1 评论 -
Node+express+mogondb+html搭建简单网站
首先来说说我在搭建之前都先了解了什么:npm 包管理器、node模块、包的概念,前后端分离,模板的渲染、mongodb数据库、数据库操作,数据库的链接、用Romogondb工具可视化数据库及连接操作等。建站目录本次demo的练习让我理清了node开发的基本流程及前后端逻辑。 在开发之前,建好项目目录我觉得这是最重要的,在建站之前,你必须建立一些需求,我是打算写一个关于图书管理,共四个页面的网站,首原创 2017-08-19 20:50:35 · 1418 阅读 · 0 评论 -
webpack安装及使用
Webpack 什么是webpack:现今的很多网页其实可以看做是功能丰富的应用,它们拥有着复杂的JavaScript代码和一大堆依赖包。为了简化开发的复杂度,前端社区涌现出了很多好的实践方法:1、模块化,2、css预处理器等,通过这些改进大大提高了我们的开发效率,但是利用它们开发的文件往往需要进行额外的处理才能让浏览器识别,而手动处理又是非常繁琐的,这就为WebPack类的工具的出现提供了需求。原创 2017-09-22 08:06:57 · 519 阅读 · 0 评论 -
JavaScript深拷贝和浅拷贝
JavaScript深拷贝和浅拷贝深拷贝:拷贝实例;浅拷贝:拷贝引用(原对象)。说深拷贝和浅拷贝之前,我先去了解了下高程书上的JavaScript的变量类型:基本类型:undefined、null、Boolean、number、string。变量直接按指存放在栈区内,可以直接访问,所以我们平时把字符串、数字的值赋值给新变量,相当于把值完全复制过去,新变量的改变不会影响旧变量。引用类型:存放在堆原创 2017-10-23 22:23:43 · 269 阅读 · 0 评论 -
PWA web应用模型
2018 新年快乐,这是我新年的第一篇博客,最近都挤图书馆去了,下面是自己最近新了解的,也没有太深入研究,就是简单看了下,现在总结下。最后希望新年新气象。。。。(PS:现在csdn页面变了还不太适应了呢!)简介PWA 是一门Google推出的web前端新技术,全称是Progressive Web App,是Google在2015年提出,2016年6月推广的项目,是结合了一系列现代Web技术原创 2018-01-08 21:33:55 · 577 阅读 · 0 评论 -
前端工程化学习
前端工程第一阶段 库/框架的选择第二阶段 简单构建优化:选择一个构建工具,对代码进行压缩,校验,然后再以页面为单位进行资源的合并第三阶段 JS/CSS模块化开发(分而治之) 提高效率 css模块化:sass、less等预处理器第四阶段 面对大规模、大体量、高性能 组件化开发:页面上的每个 独立的 可视/可交互区域视为一个组件;每个组件对应一个工程目录,组件所需的各种...原创 2018-03-09 21:26:07 · 243 阅读 · 0 评论 -
js今日面试小结—Ajax、前端安全、GET&POST、闭包、HTTPS
HTTPSHTTP+加密(SSL、TLS)+认证+完整性保护 = HTTPS;GET和POST的区别get拉取数据,post传输数据get请求能被浏览器主动缓存,post不会(除非手动)get请求在URL中传送的参数是有长度限制的get请求参数在URL中传递,post在request body中传递get请求参数会保留在浏览器历史记录里面get请求在浏览器回退上无影响,po...原创 2018-04-09 20:44:54 · 360 阅读 · 0 评论 -
304状态码、数组去重
304的具体实现(是对客户端有缓存情况下的一种响应)客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端。服务端只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 3...原创 2018-04-24 21:58:43 · 288 阅读 · 0 评论 -
React.js入门杂记
入门前了解react是什么:react是负责将前端html组件化的一个javascript库,即我们看到的前端页面上的东西,都可以用react.js写的一个个组件组成,组件是react的核心。比如页面上的一个按钮也可以是一个组件。需要什么环境:webpack打包工具,他可以将react的每一个文件当作模块来进行打包。我最近也才入门了webpack,以后熟了再写一篇博客吧!还有就是需要安装node原创 2017-08-25 22:41:53 · 491 阅读 · 0 评论 -
js数组新总结
js数组变量用来存储数据,一个变量只能存储一个内容。如果你想存储多个内容,那么就可以用数组解决,一个数组变量可以存放多个数据,好比一个团,团你有很多人。数组是一个值得集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值。数组的方法即对一个或多个数组进行的一系列操作 - 数组连接方法:concat()方法,用于连接两个或多个数组,返回一个新数组,不改变原来的数组,仅仅原创 2017-08-06 17:30:26 · 357 阅读 · 0 评论 -
箭头函数
基本使用使用//箭头函数var f = v => v;//等同于var f = function(v){ return v;} 如果箭头函数不需要参数,或者是需要多个参数,就用圆括号代表参数部分。var f = () => 5;//等同于var f = function(){ return 5;}var sum = (num1, num2) => num1+num2原创 2017-08-06 15:48:32 · 459 阅读 · 0 评论 -
git将代码上传到coding分支
get、post请求自己接触前端也是许久时间了,但是对get和post请求的认识也还只是停留在网络上大多数人流传的那样: - post比get安全 - post可以传大数据,get传的数据量较少; 就这样,知道我无意间看到了一篇大神的博客,才有了一定体会,自己也去翻阅了http的rfc文档。 - post和get都是http协议定义的,http并没有对他们的传数据方式作一些硬性的要求,但是h原创 2017-05-31 22:10:29 · 1428 阅读 · 0 评论 -
新接触-MongoDB、Docker
MongoDB数据库Mongodb数据库系统是一个开源的NoSQL数据库,相比MySQL这样的关系数据库,他更为轻巧、灵活,非常适合在数据库规模很大、事务性不强的场合下使用。 - 什么是NoSQL 在1998年被提出,他是一个轻量、开源、不提供SQL的关系数据库。他是Not Only SQL的简称,主要指非关系型、分布式、不提供AICD的数据库系统。他只是SQL的补充。 - MongoDB原创 2017-05-31 22:17:10 · 392 阅读 · 0 评论 -
高性能Js—加载及执行
Js文件加载和执行单线程概念:浏览器使用单一线程处理UI渲染和js脚本执行(只触发一次)问题:等待js文件下载、解析、执行,UI渲染和用户界面刷新被阻塞(异步方式解决)关键:文件加载、文件执行、UI渲染和用户交互 场景: js放头部:阻塞下载、执行和UI渲染(页面空白、用户无法浏览页面、无法交互)多个js文件放在一起:每个js下载都会发生延时(利用加载工具合并为一个js文件);下载等待原创 2017-08-08 14:44:46 · 391 阅读 · 0 评论 -
高性能Js—数据存取
数据存取JavaScript中四中基本的数据存取位置字面量:不存于某个变量内本地变量:var定义的数组元素对象成员字面量、全局变量读取速度 > 数组项、对象成员 。因为局部变量存在于作用域链的起始位置作用域作用域链 函数创建——作用域中的scope属性(内部属性对象)——集合——作用域链(即函数创建后,内部的可访问数据对象在访问时填充而成)标识符解析 对变量在作用域中的搜索过程原创 2017-08-08 17:20:18 · 327 阅读 · 0 评论 -
Set和Map数据结构
Set类似于数组 基本用法 ES6提供了新的数据结构——Set,类似于数组,但是成员的值是唯一的,没有重复的值,Set本身是一种构造函数,用来生成Set数据结构var s = new Set();[1,2,3,4,5,2,2].map(x=> s.add(x)) for (i of s){ console.log(i); }上面的代码通过add方法向Se原创 2017-08-03 11:46:31 · 395 阅读 · 0 评论 -
let和const命令学习总结
let声明变量新特性 - 声明的变量仅仅在块级作用域有效 块级作用域:外层作用于无法读取内层作用于周中的变量,内层作用域可以定义外层作用于中的同名变量 - 不存在变量提升 - 暂时性死区 只要在块级作用域内存在let命令,他所生声明的变量就“绑定”这个区域,不在受外部影响。 var tmp =1233; if(true){ tmp = "adde";原创 2017-08-03 11:16:33 · 308 阅读 · 0 评论 -
高性能Js—快速响应的用户界面
线程浏览器UI线程:基于队列系统Worker:在UI线程之外运行的代码 每一个Web worker——有一个自己的执行环将。异步用户交互——>任务添加进队列——>UI线程执行;js运行时,不会更新UI; 不会像UI队列中添加交互时产生的新任务——>失去响应,挂起、假死;浏览器使用单一线程公用于执行JavaScript和更新用户界面。总结任何JavaScript任务都不应该执行超过10原创 2017-08-10 17:29:10 · 388 阅读 · 0 评论 -
Generator函数基础
基本概念英文意思为 “生成器”。generator函数是es6提供的一种异步编程解决方案,语法行为与传统函数完全不同。从状态上,首先我们把他理解成一种状态机,封装了多个内部状态。另外执行generator函数胡返回一个遍历对象,就是说,generator函数还是一个遍历器对象生成函数,可以一次遍历函数中的每一个状态。generator函数的两个特征function命令与函数名之间有一个星号;函原创 2017-08-03 17:04:54 · 347 阅读 · 0 评论 -
javascript测试框架mocha
node测试框架mocha简单、灵活、有趣,mocha是一个功能丰富的javascript测试框架,运行在node和浏览器中,使异步测试变得更加简单有趣。http://mochajs.org/安装$ npm install --global mocha//全局安装$ npm install --save-dev mocha//项目开发依赖基本样式//app.jsvar fibonacci =原创 2017-08-11 21:40:32 · 519 阅读 · 0 评论 -
promise
Promise对象promise的含义 promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件,更合理和强大。 所谓promise,简单的说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,promise就是一个对象,从它可以获取异步操作的消息。promise提供统一的API,各种异步操作都可以用同样的方法进行处理。pr原创 2017-08-04 22:08:24 · 460 阅读 · 0 评论 -
npm、模块暴露,小知识点区别
–save-dev与–save的区别npm install xxx --save-dev 是指将包信息添加到 package.json 里的 devDependencies节点,表示开发时依赖的包。npm install xxx --save是指将包信息添加到 package.json 里的dependencies节点,表示发布时依赖的包。module.exports 与 exports原创 2017-08-12 21:22:37 · 741 阅读 · 0 评论 -
async函数基础
async函数含义 异步操作的函数,一句话,async函数就是generator函数的语法糖。用法 async函数会将generator函数的星号(*)替换成async,将yield替换成await,仅此而已。该函数的实现就是将generator函数和自动执行器包装在一个函数中。async函数对generator函数的改进内置执行器:generator函数的执行必须靠执行器; 执行var原创 2017-08-05 13:50:46 · 432 阅读 · 0 评论 -
class
class“类”概述 这是es6引入的一个概念,class类将会作为对象的模板。基本写法://定义类class Point{ constructor(x, y){//构造方法:就是es5中的构造函数 this.x = x; this.y = y; } toString(){ return '('+this.x+','+this原创 2017-08-05 17:32:34 · 503 阅读 · 0 评论 -
JavaScript深拷贝——我遇到的应用场景
简述 深拷贝即拷贝实例,其作用是为了不影响拷贝后的数组对起原数组造成影响。这时我们就需要进行深拷贝。(JavaScript的继承)我遇到的应用场景 我是在用vue的element-ui做项目的时候遇到的,这是一个播放和暂停的按钮切换功能 代码: 图标就是代码中的a标签,下面是实现的js代码部分 //变换播放/暂停按钮 if (this.playClass[ta...原创 2018-09-09 18:52:33 · 1140 阅读 · 0 评论