随笔分类 -  javascript

私有成员 ECMAScript6 weakmap
摘要:把变量放到构造函数里进行私有化,每一个实例都会有一个getName方法,这是低效率的。function Person(name) { this.getName = function() { return name; };}改进,把私有成员数据存到实例上去(把实例保存起来,分... 阅读全文

posted @ 2016-01-27 14:15 迷茫小飞侠 阅读(205) 评论(0) 推荐(0)

eval
摘要:eval 运行代码时会生成作用域可计算某个字符串,并执行其中的的 JavaScript 代码。var a = "test" , b = "a";eval(b);会输出test当运行eval(src)的时候,是在调用eval方法的scope里面执行src代码,那么如果需要src运行到全局scope... 阅读全文

posted @ 2016-01-27 14:12 迷茫小飞侠 阅读(165) 评论(0) 推荐(0)

scrollWidth,clientWidth,offsetWiddth,innerWinth 元素定位
摘要:getBoundingClientRect()方法。它返回一个对象,其中包含了left、right、top、bottom四个属性,分别对应了该元素的左上角和右下角相对于浏览器窗口(viewport)左上角的距离。 通用的获得元素相对于viewPort的函数,一直向上遍历父元素(因为有些浏览器不支持g... 阅读全文

posted @ 2016-01-27 14:08 迷茫小飞侠 阅读(135) 评论(0) 推荐(0)

document.compatMode
摘要:document.compatMode 获得文档模式,IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别两种模式:当document.compatMode等于BackCompat时,浏览器客户区宽度是document.body.clientWidth;当docum... 阅读全文

posted @ 2016-01-27 14:07 迷茫小飞侠 阅读(128) 评论(0) 推荐(0)

位运算符
摘要:位运算符是在数字底层(即表示数字的 32 个数位)进行操作的。位运算 NOT 由否定号(~)表示:位运算 NOT 是三步的处理过程:把运算数转换成 32 位数字把二进制数转换成它的二进制反码把二进制数转换成浮点数位运算 AND 由和号(&)表示,直接对数字的二进制形式进行运算。它把每个数字中的数位对... 阅读全文

posted @ 2016-01-27 13:52 迷茫小飞侠 阅读(281) 评论(0) 推荐(0)

异步编程的4种方法
摘要:Javascript语言的执行环境是"单线程"(single thread)一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的... 阅读全文

posted @ 2016-01-27 13:42 迷茫小飞侠 阅读(3469) 评论(0) 推荐(0)

touchmove Bug 工作遇到
摘要:touchmove在安卓浏览器上只会触发一次,需要preventDefault()touchmove events in Android web browsers have a really serious bug. If you don't include the following code, ... 阅读全文

posted @ 2016-01-27 13:34 迷茫小飞侠 阅读(370) 评论(0) 推荐(0)

集合类型
摘要:Array 只允许数字索引,所以当要使用非数字索引时,得用 objectECMAScript 6 引入了新的集合类型1、Sets 不能含有重复值得有序列表var items = new Set();items.add(5);items.add("5");console.log(items.siz... 阅读全文

posted @ 2016-01-27 13:33 迷茫小飞侠 阅读(153) 评论(0) 推荐(0)

提取URL的搜索字符串中的参数
摘要:function urlArgs(){var args = {};var query = location.search.substring(1);if(query){ if(query.indexOf('=') == -1){ alert('参数形式错误'); return fa... 阅读全文

posted @ 2016-01-27 13:31 迷茫小飞侠 阅读(188) 评论(0) 推荐(0)

本地对象、内置对象、宿主对象
摘要:ECMA-262 把本地对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象”。Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、Refer... 阅读全文

posted @ 2016-01-27 13:29 迷茫小飞侠 阅读(165) 评论(0) 推荐(0)

声明函数 执行上下文 匿名函数
摘要:方法一:var foo = function () {//code}方法二:function foo () {//code}方法一:foo在进入函数执行上下文开始执行代码的时候,foo是undefined的,执行完var foo = function () { }这句,foo才会得到赋值;方法二:在... 阅读全文

posted @ 2016-01-27 13:28 迷茫小飞侠 阅读(315) 评论(0) 推荐(0)

完善tab页面定位
摘要:当我们用锚点定位到页面某个元素时,接下来按tab的话是想进入到目前元素(id="content")的下一个连接Skip to Content 但是chrome 和 ie 有问题,按tab是选中 skip to Content之后的那个连接,修复方法就是在定位之后选中 content,通过修改 ... 阅读全文

posted @ 2016-01-27 11:54 迷茫小飞侠 阅读(746) 评论(0) 推荐(0)

取得 iframe 容器的 URL
摘要:检测所在窗口是否为最外层的窗口,若不是则跳脱包含它的框架if( window !== window.top ) { window.top.location = location;}top 对象指向最外层,浏览器窗口本身,self 总是等于window当Iframe page和 containing ... 阅读全文

posted @ 2016-01-27 11:51 迷茫小飞侠 阅读(1119) 评论(0) 推荐(0)

setImmediate()
摘要:在循环事件任务完成后马上运行指定代码以前使用 setTimeout(fn, 0);Since browsers clamp their timers to 4ms, it really doesn’t matter if you say 0, 1, 2, 3, or 4计时器间隔至少为 4毫秒,所... 阅读全文

posted @ 2016-01-27 10:46 迷茫小飞侠 阅读(2668) 评论(0) 推荐(0)

对象作为 handleEvent
摘要:elem.addEventListener("click", obj, false); //用对象作为处理函数var obj = { handleEvent: function(event) { ....... }}会自动运行 handleEvent 这个方法 阅读全文

posted @ 2016-01-27 10:27 迷茫小飞侠 阅读(153) 评论(0) 推荐(0)

Module模式
摘要:匿名函数闭包(function () { // ... all vars and functions are in this scope only // still maintains access to all globals}()); 注意在匿名函数外面的括号。这是由于在JavaS... 阅读全文

posted @ 2016-01-27 10:26 迷茫小飞侠 阅读(176) 评论(0) 推荐(0)

arrow functions 箭头函数
摘要:ES6里新增加的,与普通方法不同的地方1、this 的对象在定义函数的时候确定了,而不是在使用的时候才决定2、不可以使用 new ,也就不能当构造函数3、this 的值一旦确定无法修改在 ES5 下,定制sort比较函数:var result = values.sort(function(a, b)... 阅读全文

posted @ 2016-01-27 10:23 迷茫小飞侠 阅读(152) 评论(0) 推荐(0)

不使用类的继承,纯粹使用对象
摘要:var myMammal = { name : 'Herb the Mammal', get_name : function () { return this.name; }, says : function () { return this.saying || ''; }};var myCat =... 阅读全文

posted @ 2016-01-26 17:12 迷茫小飞侠 阅读(130) 评论(0) 推荐(0)

类(对象)的定义 自定义对象构造函数
摘要:对象创建和继承对象创建指的是自定义对象构造函数,用于批量创建拥有共同属性方法的对象。例如创建一个人对象构造函数,然后实例化出小明,小红继承指的是两个引用类型对象间属性和方法的继承,原理是利用prototype,因为实例内部保留了对构造函数prototype的指针,prototype保留对该构造函数的... 阅读全文

posted @ 2016-01-26 17:11 迷茫小飞侠 阅读(513) 评论(0) 推荐(0)

数组删除操作 splice
摘要:原理通过设置 函数的 length 属性var a = [1, 2, 3, 4];a.length = 3 ;结果 : a = [1,2,3] 阅读全文

posted @ 2016-01-26 17:08 迷茫小飞侠 阅读(150) 评论(0) 推荐(0)

导航