随笔分类 - 一寸光阴
拍什么真理无穷,进一寸有一寸的欢喜
摘要:立即执行函数:常用于第三方库,好处在于隔离作用域,任何一个第三方库都会存在大量的变量和函数,为了避免变量污染(命名冲突),一般想到的方法就是使用立即执行函数。jQuery就是使用的立即执行函数。 函数有三种:函数声明 函数表达式 匿名函数 立即执行函数常见形式: (function fn(i){ c
阅读全文
摘要:ES6中为何要提出用let和const来定义变量?使用var会有什么弊端呢?其中最关键的就是:使用var关键字声明的变量,无论其实际声明位置在何处,都会被视为声明于所在函数的顶部(如果声明不在任意函数内部,则视为在全局作用域的顶部)。这就是所谓的变量提升。 栗子如下: 实际上当condition为f
阅读全文
摘要:先看个栗子: ~是按位取反的意思,计算机里面处理二进制数据时候的非,~~就是再转回来,利用两个按位取反的符号,进行类型的转换,转换成数字符号。 而在计算机里面的^=是异或运算,相同取0,不同取1. 两个整数交换可以酱紫表示: 将a = a ^= b; b = b^=a; a = a^=b;在js中类
阅读全文
摘要:在用vue开发项目时候,遇到一个问题,首页有代办列表,是固定定位,滚动时候需要监听距离页面顶部的距离,如果很接近顶部则将代办列表展示,首页隐藏,如果再网上翻动则又回到首页。 因为是是fixed定位,所以用得了getBoundingClientRect:用于获取某个元素相对于视窗位置集合。集合中有to
阅读全文
摘要:HTTP:超文本传输协议,工作于客户端-服务端架构上,客户端通过url向服务端(web服务器)发送请求,web服务器接收到请求后,向客户端响应信息。 特点: 简单快速,常用方法:GET,POST,HEAD,每种方法规定了客户端和服务器联系的类型不同。 无连接,每次只处理一个请求,响应成功后,就断开连
阅读全文
摘要:1,减少Http请求,合理设置http缓存 为什么要减少http请求次数,就能有效提高访问性能?因为内存http请求都需要建立通信链路,进行数据传输,在服务端每个http都需要启动独立的线程去处理,而这些通信和服务都是很昂贵的,所以要减少http的请求次数。 手段:合并css,合并js,合并图片,将
阅读全文
摘要:对比下常用的异步处理的方案: 1,回调 我们常说的 “回调地狱”,就是多个异步操作时候,代码多重嵌套,异步之前形成强耦合,如果修改一处,其他地方也是跟着修改。(callback hell). 2,promise 其实promise的出现呢,就是为了解决回调地狱的问题,不是多重嵌套,而是链式调用,就是
阅读全文
摘要:在javascript中表示“集合”的数据结构,主要有Array,Object,Map,Set。 Iterator(遍历器)接口是为各种不同的数据结构提供了统一的访问机制。任何数据结构具有Iterator接口,就可以完成遍历操作(依次排序进行遍历)。 Iterator遍历的过程: 创建一个指针对象,
阅读全文
摘要:上节中忘记讲:Iterator接口和Generator函数的关系了,Symbol.iterator方法的最简单的实现就是通过Generator函数: 用Generator函数写Symbol.iterator方法几乎不用部署任何代码,只要yield命令给出每一步的返回值即可。接下来开始写Generat
阅读全文
摘要:在上节中,提到了es6的set数据结构,Set本身是一个构造函数,用来生成set数据结构。 在set加入值的时候,不会发生类型转换,数字和string是不同的值,Set内部判断两个值是否不同,使用的是“same-value-zero-equality”,类似于 ,主要的区别是NaN等于它本身。 向S
阅读全文
摘要:上面去重的方法老生常谈了,一种是用数组的indexOf的方法,检索数组里面是否存在该元素,如果不存在就push进另外一个数组里面。一种是利用对象的key值不会重复的特性。 ES6提供了一种新的数据结构Set,类似于数组,但是成员的值都是唯一的,没有重复的值。 Set本身是一个构造函数,用来生成Set
阅读全文
摘要:这个问题还真是没有注意啊,原来很多往回走哪的内容存储使用别的域名,这个有什么好处呢?1:CDN缓存更方便
阅读全文
摘要:关于css3中position属性的定义:
阅读全文
摘要:URL(Uniform Resource Locator):统一资源定位符,互联网上的每个文件都有一个唯一的URL,基本URL包含协议,IP地址,路径和文件名。 重点:herf和src的区别 href(Hypertext Reference)主要用于在涉及的文档和外部资源之间建立一个关系,即超文本引
阅读全文
摘要:1,建议使用let替代var 2,全局常量使用const,多使用const有利于提高程序的运行效率。 const有两个好处:一是阅读代码的人立刻会意识到不应该修改这个值,二是防止无意间修改变量值导致错误。 所有的函数都应该设置为常量。 3,字符串使用模板字符串。 4,解构赋值 使用数组成员对变量赋值
阅读全文
摘要:JavaScript对象(Object),本质上市键值对的集合(Hash结构),但是key值只能是字符串,如果用一个对象作为key值,将被转化为"[Object,Object]"; Map结构就是为了解决这个问题的,类似于对象,也是键值对的集合,但是它的键可以是各种类型(包括对象)。 Object结
阅读全文
摘要:话说,解构无处不在啊,鄙人自从用了vue写项目以来,总是遇到各路大神莫名其妙的写法,然并未出任何错,查之,然解构也,呜呼哀哉,进而习之。 解构(Destructuring):是将一个数据结构分解为更小的部分的过程。ES6中,从数组和对象中提取值,对变量进行赋值。 解构有什么用处呢?可以大大的简化数组
阅读全文
摘要:XSS(Cross Site Script):跨站脚本,也就是javascript脚本注入,一般在站点中的富文本框,里面发表文章,留言等表单,这种表单一般是写入数据库,然后再某个页面打开。 防御: 1,在用户表单输入的数据进行过滤,对javascript进行转义,然后再存入数据库; 2,在信息的展示
阅读全文
摘要:As we know,浏览器的同源策略,不允许访问非同源页面。ajax中,不允许请求非同源的URL,JSONP就是来解决跨域请求问题的,实现方法: script标签src属性中的链接可以访问跨域的js脚本,利用这个特性,服务端不再返回JSON格式数据,而是返回一段调用某个函数的js代码,在src中进
阅读全文
摘要:ES6中加入了let,const字符,先说说新的区别: 作用域:let 声明的变量只在它所在的代码块内有效,而且不存在变量提升,即变量可以在声明之前使用,值为undefined。let未声明变量前会报错。 如果区块内存在let和const命令,这个代码块对这些命令声明的变量从一开始就形成了封闭作用域
阅读全文

浙公网安备 33010602011771号