javascript的变量声明

2019-05-13
阅读 1 分钟
1.2k
在代码中,声明变量是基础,但是在javascript中,经历了从var到let,const的变化,到底有什么本质上的区别呢? 本文的原文在我的博客中:[链接] 欢迎star var 声明的提升 var 不管在哪里声明的,都会被当成在当前作用域顶部声明的。 变量提升是在预编译的过程中发生的,赋值为undefined 被声明的变量还是在原来的地方,...

babel的一些常用知识点整理

2018-12-29
阅读 4 分钟
2.3k
关于bable的一些知识点整理 babel-polyfill 的作用 和 runtime babel-cli babel-core babel-preset-env babel-preset-preset-stage-2 babel-loader babel使用方法: 使用单体文件 使用命令行 构建工具的插件 运行方式和插件 babel总共分为3个阶段: 解析,转换和生成 babel本身不具有任何转换功能, 如果没有plugin,那么...

ajax的一些属性整理

2017-05-11
阅读 4 分钟
3k
通常线程之间的交互以事件的方式发生,通过事件回调的方法予以通知。事件回调,是以先进先出的方式添加到任务队列的末尾,等js引擎空闲时,任务队列中排队的任务将会依次被执行。这些事件回调包括setTimeout, setInterval,click, ajax异步请求回调。

web解析过程

2017-05-08
阅读 3 分钟
3.2k
DOM树构建过程: 1.根据HTML文档的内容,根据标签进行分词Token2.根据Token生产对应的节点Node3.将节点根据嵌套关系组合成为一棵对象节点树DOM

移动端的一些基础知识

2017-05-08
阅读 1 分钟
2k
屏幕密度:是指一个设备表面上存在的像素数量CSS像素:是一个抽象的单位,主要使用在浏览器上,用来精确度量Web页面上的内容,css像素称为与设备无关的像素设备像素比(device pixel ratio):简称为dpr,定义了物理像素和设备独立像素的对应关系

正则表达式

2017-04-22
阅读 3 分钟
2.1k
预定义字符类 {代码...} 贪婪匹配 概念:如星号(*)元字符在执行匹配时,先看整个字符串是否匹配,如果不匹配则去掉该字符串中的最后一个字符,并再次尝试。 1.?、{n}和{n,m}重复类 {代码...} 2.*、+和{n,}重复类 {代码...} 星号(*)重复类的匹配底线是最宽容的,匹配欲望是最强烈的。不管是否存在指定字符或子表达...

当移过元素的子元素时,mouseout的事件不触发

2017-04-18
阅读 1 分钟
3.9k
场景:在一个元素上监听了一个mouseout的事件,但是当鼠标在这个元素的子元素上移动时,就会触发这个事件。但是我们希望是在这个元素内活动,都是算这个元素的,并不希望触发这个事件。

ES6:Set和Map

2017-03-16
阅读 1 分钟
2.5k
Set:类似数组,但是成员的值都是唯一的,没有重复。Set本身是一个构造函数,用来生成Set数据结构。他包含的方法:add: 添加某个值,返回Set结构本身。delete: 删除某个值,返回一个布尔值,表示是否成功;has(value): 返回布尔值,表示该值是否为Set的成员;clear():清除所有成员,没有返回值遍历操作keys():返回键名的...

ES6: Proxy

2017-03-16
阅读 1 分钟
2.7k
Proxy用于修改某些操作的默认行为,用来代理有些行为。ES6的行为:target参数表示所要拦截的目标对象,handler参数也是一个队形,用来拦截行为。

ES6: Symbol

2017-03-15
阅读 1 分钟
1.8k
Symbol的出现是因为没有可以用来表示唯一的标识符,所以从根本上防止属性名的冲突,所以引入了Symbol。所以对象的属性名可以有两种类型,一种是通常的字符串,另一种是新增的Symbol类型。Symbol是一种新的原始数据类型,用Symbol函数生成,用typeof运算符的结果是'symbol'。它是一种原始数据类型,不是对象,所以Symbol...

ES6:对象的扩展

2017-03-14
阅读 2 分钟
2.5k
Object.assign()用于对象的合并,将源对象的所有课枚举属性复制到目标对象。这个方法是浅拷贝,不是深拷贝这个也可以用来处理数组,但是会把数组视为对象

创建一个高度自适应的textarea

2017-03-13
阅读 2 分钟
9k
今天的任务是生成一个高度自适应的textarea,而且也可以设置最小高度和最大高度。最简单的方法textarea的属性是overflow:auto;那么如果内容的高度大于textarea本身的高度时,可以把textarea的高度设置成scrollHeight

ES6: 数组

2017-03-09
阅读 3 分钟
3k
Array.prototype.map, Array.prototype.filter: 返回一个新的数组。两者的区别是:map返回的是,由原数组中的每个元素调用一个方法后返回的新数组;filter是通过指定函数测试,然后创建了个新的数组;

ES6: 字符串

2017-03-09
阅读 2 分钟
2k
现在ES6增加了很多的字符串的方法,但是有些感觉自己也不是很懂,所以就罗列了一些平常的用的。 includes, startsWith, endsWith includes(): 返回布尔值,表示是否找到了参数字符串; startsWith(): 返回布尔值,表示参数字符串是否在源字符串的头部 endsWith(): 返回布尔值,表示参数字符串是否在源字符串的尾部。 ...

变量的解构赋值

2017-03-07
阅读 2 分钟
1.6k
解构赋值 解构赋值是ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值; 解构赋值主要有一下几种 数组的解构赋值 {代码...} 允许有默认值 {代码...} 对象的解构赋值 对象的解构和数组不同的地方是,数组的元素必须是按次序排列的,变量的值由它的位置决定;对象的属性是无序的,变量名与属性名相同就可以了。...

ES6(一): let,const

2017-03-07
阅读 1 分钟
1.5k
let,const共同拥有的特点 提供了代码块级作用域;(代码块是用{}来实现的) 不存在变量提升,先声明再使用; 存在“暂时性死区”; 不允许重复声明; “暂时性死区”。 ES6明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。在...

初识fetch

2017-03-06
阅读 2 分钟
3.3k
虽然标题感觉比较大,然后指出了XMLHttpRequest的局限性。XMLHttpRequest是一个设计粗糙的API,不符合关注分离的原则,配置和调用方式也很混乱,而且基于事件的异步模式没有Promise友好。虽然我也没有觉得这样的理由足够强大到可以把Ajax逼死,但是毕竟流行是一种趋势。随着ES6时代的全面爆发,相信fetch的时代也将不会...

FormData 和 Iframe上传文件的两种方式

2017-03-06
阅读 3 分钟
7.6k
创建一个空的FormData对象,然后再用append方法逐个增加键值对 var formdata = new FormData();formdata.append("name","xx");formdata.append("flie", filename);

HTTP请求 的相关事宜

2017-03-03
阅读 2 分钟
1.5k
HTTP请求 HTTP请求由三部分组成: 请求行:包含请求方法、地址和HTTP的协议版本 消息报头:包含一系列的键值对 请求正文(可选):和消息报头之间有一个空行 信息报头中的主要信息有 Host 是请求报头域,用于指定被请求资源的 Internet 主机和端口号,它通常从 HTTP URL 中提取出来; Connection 表示连接状态,keep-ali...

浏览器的缓存机制

2017-03-02
阅读 3 分钟
6.4k
浏览器一般都是通过http缓存的,但是也可以通过其他方式,如在html页面中的meta标签增加属性,但不是所有浏览器都支持的,因为有些浏览器不能理解HTML内容本身

Promise

2017-03-01
阅读 4 分钟
1.5k
Promise对象是一种异步编程的解决方案,比传统的解决方案——会掉函数和事件——更合理和强大。Promise有三种状态:pending(进行中)、Resolved(Fulfilled,已完成)和Rejected(已失败);而且状态一旦改变,就不会再发生改变,Promise对象的状态只有两种可能:从Pending变为Resolved和从Pending变为Rejected。只要这两种情况发...

web网络安全

2017-02-28
阅读 3 分钟
3.2k
今天主要复习了一些比较常见的网络完全的问题 XSS攻击 他主要的做法就是在页面上执行一段javascript,获取网站的信息,如cookie,他主要分几个类型: 反射型,如在img中的url是一段带<script>的代码;他主要是设计一个url来获取客户信息 保存型: 这种是脚本保存在数据库中,不经过滤就存储并显示给用户。实现这个...

三次握手的过程

2017-02-27
阅读 2 分钟
3.6k
关于http请求,一直都不是很明白,这次决定系统的整理一下。在这之前先先整理一下SSL/TLS的运行机制:在网络通信中,有窃听风险、篡改风险、冒充风险,所以SSL/TLS的设计目的就是为了达到:加密传播、检验机制、配备身份证书。