
javascript
v折耳
你无所事事的今天,是昨天逝去的人所期待的明天。
展开
-
js操作cookies
什么是 Cookie “cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。” - w3school cookie 是访问过的网站创建的文件,用于存储浏览信息,例如个人资料信息。 从JavaScript的角度看,cookie 就是一些字符串信转载 2016-04-05 09:32:22 · 311 阅读 · 0 评论 -
ES6 函数扩展
函数默认值ES6 与ES5 的区别在ES6之前,不能直接为函数的指定默认值 ES5默认值方法//方法一function log(x, y) { y = y || 'value'; console.log(x, y);}function log(x, y) { if (typeof y === 'undefined') { y = 'value';} console.lo原创 2017-03-06 19:28:36 · 708 阅读 · 0 评论 -
Symbol
ES6引入了一种新的原始数据类型Symbol,表示独一无二的值,它是JavaScript的第七种数据类型var s = Symbol();typeof s//'symbol'var sy=Symbol('foo')\\Symbol(foo)Symbol函数前不能使用 new;生成Symbol是一个原始类型的值,Symbol值不是对象,所以不能添加基本属性,它类似于字符串的数据类型Symbol原创 2017-03-10 16:58:15 · 398 阅读 · 0 评论 -
async
ES2017引入了async函数,使得异步操作更加方便async 其实就是Generator的语法糖 async函数就是将 Generator 函数的星号(*)替换成async,将yield替换成awaitasync 的优势特点内置执行器 Generator 的执行需要依靠执行器, async自带执行器 语义化 更友善适应性更好原创 2017-03-20 19:02:47 · 383 阅读 · 0 评论 -
vue-resource
// 基于全局Vue对象使用http Vue.http.get(‘/someUrl’, [options]).then(successCallback, errorCallback); Vue.http.post(‘/someUrl’, [body], [options]).then(successCallback, errorCallback);// 在一个Vue实例内使用httpthis.原创 2017-03-29 18:41:12 · 669 阅读 · 0 评论 -
Set
Set基本用法:Set是ES6提供的新的数据结构;类似于数组,但是成员的值都是唯一的,没有重复的值varvar arr=[1,4,6,4,1,'aa','bb','aa']var s=new Set()arr.forEach(x=>s.add(x)) s//Set { 1, 4, 6, 'aa', 'bb' }for(let i of s){console.log(s)}//1//4原创 2017-03-13 11:31:27 · 366 阅读 · 0 评论 -
Map
Map 结构 原因:对象只能用字符串当作键。这给它的使用带来了很大的限制 解决:它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键 对比:Object结构提供了“字符串—值”的对应,Map结构提供了“值—值”的对应 使用:Map也可以接受一个数组作为参数。该数组的成员是一个个表示键值对的数组var map = new Map([['name',原创 2017-03-13 14:36:32 · 443 阅读 · 0 评论 -
Proxy
Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,即对编程语言进行编程var obj = new Proxy({}, { get: function (target, key, receiver) { console.log(`getting ${key}!`); return Reflect.get(target, key, receiver); },原创 2017-03-13 15:08:58 · 355 阅读 · 0 评论 -
Reflect
ReflectReflect 的这几目的 1. 将Object对象的一些明显属于语言内部的方法放到Reflect对象上(某些方法可以同时在Object和Reflect 上同时部署,未来将只能在Reflect 部署 ) 2. 修改某些object方法的返回结果更合理 3. 让Object操作都变成函数行为 4. Reflect对象的方法和Proxy对象的方法一一对应原创 2017-03-13 16:10:05 · 309 阅读 · 0 评论 -
Axios
Axios 是基于promise 的HTTP库(可在浏览器和node.js中)特征:1. 浏览器中创建XMLHttpRequests2. node.js创建http请求3. 拦截请求和响应4. 客户端支持防御XSRF5....(详细的自己看文档说明)使用:GET 请求//get 方式的参数 //axios.get('/url',{params:{key1:value1}})原创 2017-05-15 16:38:12 · 2041 阅读 · 0 评论 -
http://www.cnblogs.com/coco1s/p/4833199.html
理解JS中的call、apply、bind方法(*****************************************************************)在JavaScript中,call、apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向。call、apply、bind方法的共同点和区别:转载 2017-12-06 11:35:03 · 437 阅读 · 0 评论 -
JavaScript 的Thunk 函数
在 JavaScript 语言中,Thunk 函数替换的不是表达式,而是多参数函数,将其替换成一个只接受回调函数作为参数的单参数函数Thunk 函数转换器//ES5var Thunk = function(fn){ return function (){ var args = Array.prototype.slice.call(arguments); return funct原创 2017-03-20 15:22:02 · 490 阅读 · 0 评论 -
Generator
Generator 函数是 ES6 提供的一种异步编程解决方案 Generator 函数看是跟普通函数一样,但是有两个特征: 1. function 与 函数名之间有 一个 “*”(星号) 2. 函数内部使用 yield 语句function* Ge(){ console.log('setp1'); yield 'setp1 over'; console.log('s原创 2017-03-16 16:54:18 · 335 阅读 · 0 评论 -
es6 字符扩展
Unicode表示法同一个字符的六种表示方法'\z'==='z''\172'==='z''\x7A'==='z''\u007A'==='z''\u{7A}'==='z'{} 是es6加入的可以表示utf-16的编码(utf-16的编码需要两个字符表示) '\u{1f680}'==='\uD83D\uDE80'字符处理 方法 作用 意义 备注 codePointAt()原创 2017-02-27 18:09:07 · 531 阅读 · 0 评论 -
addEventListener
addEventListener-开始 前面零散地写了些关于 addEventListener 的内容,觉得比较散,有些地方可能也说得不够清楚明白,所以决定以连载的形式从头到尾再写一篇。addEventListener 用于注册事件处理程序,IE 中为 attachEvent,我们为什么讲 addEventListener 而不讲 attachEvent 呢?一来 at转载 2016-04-07 19:09:18 · 486 阅读 · 0 评论 -
js 获取浏览信息 及常见浏览器处理
navigatornavigator对象属性:navigator 对方法:js 判断浏览器 通过js判断浏览器是否在微信 、qq、微博 uc 中打开更完善一点,再加上判断是在移动设备打开还是在PC端浏览器打开的,更加细分一点,可以判断是在安卓系统的浏览器打开的还是IOS系统浏览器打开的。(需要时自己自行完善)转载 2016-10-18 13:49:08 · 453 阅读 · 0 评论 -
Object.defineproperty实现数据和视图的联动
Object.defineproperty语法在一个对象上定义新的属性var o = {}; // 创建一个新对象// Example of an object property added with defineProperty with a data property descriptorObject.defineProperty(o, "a", {value : 37转载 2016-12-14 18:42:35 · 762 阅读 · 0 评论 -
在网页中添加 加载效果的总结
别人的网页中的页面加载效果很是羡慕,感觉用户体验不错,于是就自己总结一下原理方法。方案一在网页顶端添加一个遮蔽层,在网页加载完毕后,用js将其隐藏。方案二原创 2016-03-23 11:33:58 · 581 阅读 · 0 评论 -
正则里的 ?:的作用
(?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式举个例子说明 s="https://www.baidu.com/"; h=s.replace(/(b原创 2017-01-16 14:33:23 · 655 阅读 · 0 评论 -
ES6 正则扩展
RegExp 构造函数ES5 的参数有两种情况var regex= new RegExp('xyz','i')var regex= new (/xyz/i) ES5不允许使用第二个参数 ES6var regex= new RegExp('xyz','ig')var regex= new (/xyz/ig)var regex = new (/xyz/ig,'i') 使用两个参数后面一个原创 2017-02-28 18:59:34 · 370 阅读 · 0 评论 -
ES6 Number
Number.isFinite()ES5 Number.isFinite 部署方法(function (global) { var global_isFinite = global.isFinite; Object.defineProperty(Number, 'isFinite', { value: function isFinite(value) { return ty原创 2017-03-02 10:53:41 · 526 阅读 · 0 评论 -
javascript 中 unicode 转 UTF8
1 var unicodeToUTF8 = function (unicode) { 2 if (unicode >= 0x00000000 && unicode ) { 3 return unicode; 4 } 5 else if (unicode >= 0x00000080 && unicode ) { 6 var r1 =转载 2017-02-23 18:34:05 · 1128 阅读 · 0 评论 -
ES6 数组扩展
Array.from()将类似数组和可遍历的对象转换成真正的数组var arraylike={ '0':'a', '1':'b', '2':'c', '3':'d', length:4};//ES5方法var arr1=[].slice.call(arraylike) //ES6var arr2=Array.from(arraylike)可以试试把‘原创 2017-03-03 16:08:26 · 273 阅读 · 0 评论 -
ES6 对象扩展
属性的表示法ES6 允许直接写入变量和函数,作为对象的属性和方法var key1='1'var bj={key1}//{ key1: '1' }var bz={key1:key1}//{ key1: '1' }方法的简写var ob={fn1(){return '1'},fn2(){return '2'}}//{ fn1: [Function: fn1], fn2: [Function:原创 2017-03-08 18:59:45 · 349 阅读 · 0 评论 -
JavaScript 之 ArrayBuffer 转载存档
JavaScript 之 ArrayBufferJS里的ArrayBuffer还记得某个晚上在做 canvas 像素级操作,发现存储像素的数据格式并不是Array类型,而是ArrayBuffer,心想这是什么鬼?后来查了一些资料,发现自己这半年来的JS是白学了,竟然才知道还有这么个东东。首先,这个 ArrayBuffer 类型化数组,类型化数组是JavaSc转载 2018-03-19 09:51:27 · 1242 阅读 · 0 评论