javascript
shidaping
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
javascript使用async控制程序流程
前端使用:bower install asaync#1.5.2 --savenodejs中使用:npm install asaync@1.5.2 --savevar async = require('async');几个常用的流程控制:waterfall瀑布流,下一步依赖上一步: async.waterfall( [ /原创 2016-08-08 14:48:58 · 741 阅读 · 0 评论 -
使用mochajs进行js测试
mochajs是一款流行的nodejs测试工具。git地址:https://github.com/mochajs/mocha。npm install mocha --save-dev安装。在工具目录下创建test目录。在test目录下创建test.js(mocha会自动寻找test目录下所有js文件),编写测试代码:var assert = require('assert');d原创 2017-08-07 10:20:50 · 953 阅读 · 0 评论 -
js中使用console.time显示程序运行耗时
在js中可以使用console.time和console.timeEnd来监测程序的运行耗时,以便优化性能。代码如下console.time('aa');for(var i=0;i<1000;i++){console.log(i);};console.timeEnd('aa')最后打印出aa:120ms表示aa之间的代码共耗时120ms原创 2017-08-04 10:43:43 · 4881 阅读 · 0 评论 -
emoji正则表达式
直接上代码:var emojiReg = /(\ud83c[\udf00-\udfff])|(\ud83d[\udc00-\ude4f])|(\ud83d[\ude80-\udeff])/;原创 2017-05-19 13:00:14 · 13623 阅读 · 2 评论 -
在移动设备中使用js调用陀螺仪api
此为开发vr全景,所用到的:window.addEventListener('deviceorientation', function(event) { var alpha = event.alpha; // var beta = event.beta; var gamma = event.gamma; var n原创 2017-03-13 11:31:08 · 4702 阅读 · 0 评论 -
js创建style元素的方法
js创建style元素: var style = document.createElement('style'); style.type="text/css"; style.appendChild(document.createTextNode("body{color: red;}")); document.body.appendChi原创 2017-03-28 14:49:23 · 3158 阅读 · 0 评论 -
html5 promise的使用
promise的目的是减少callback的嵌套,提高代码的可维护性。看一个投资的例子,每次抽奖要1秒,共5次,生成一个1-10随机数,大于5则中奖。 function drawPrize(){ var defer = Promise.defer() setTimeout(function(){ var random = p原创 2016-08-31 13:38:05 · 2383 阅读 · 0 评论 -
js变量提升
js变量提升,英文叫做js variable hoisting 或者 js variable lift。为了理解它,我们先看一下例子。var a=1;(function(){ console.log(a);})();没有疑问,这个打印出的是1.var a=1;(function(){ console.log(a); var a=2;})();这是一个js原创 2017-01-04 15:58:54 · 409 阅读 · 0 评论 -
javascript的垃圾回收机制与内存管理
一、垃圾回收机制—GCJavascript具有自动垃圾回收机制(GC:Garbage Collecation),也就是说,执行环境会负责管理代码执行过程中使用的内存。原理:垃圾收集器会定期(周期性)找出那些不在继续使用的变量,然后释放其内存。JavaScript垃圾回收的机制很简单:找出不再使用的变量,然后释放掉其占用的内存,但是这个过程不是实时的,因为其开销比较大转载 2017-02-14 11:29:32 · 460 阅读 · 0 评论 -
javascript深拷贝
javascript的浅拷贝和深拷贝是老生长谈的问题了。浅拷贝是内存引用,修改一个会引起另一个跟着改变,当然只对object类型生效。今天看到一个深拷贝的方法:var cloneObj = function(obj){ var str, newobj = obj.constructor === Array ? [] : {}; if(typeof obj !== 'obje原创 2017-02-10 15:00:37 · 338 阅读 · 0 评论 -
javascript中的this
textthis关键字在javascript中是非常让人困惑的。我们必须记住一点,那就是this与定义无关,只与function调用的上下文有关。当一个function从属于某个对象时,this指向该对象。var obj={ func: function(){ console.log(this); }};obj.func();此处this指向obj本身。var原创 2017-02-09 14:51:26 · 303 阅读 · 0 评论 -
javascript面试坑连续赋值
(function(){var a=b=1;})();console.log(b);console.log(a);console.log(b)会打印出1,而console.log(a)会报错。var a=b=1;等同于b=1; var a=1; 所以b是全局变量,而a是function作用域内。平时写代码当然一般不会这么写--!。扩展一下:var a=b=c=1;等同于原创 2017-01-03 10:38:25 · 424 阅读 · 0 评论 -
js使用getEventListeners移除事件监听器
getEventListeners函数可以用来获取一个dom元素的事件侦听器。如:getEventListneres(wiondow).load 会返回一个侦听window.load事件的侦听器数组。可以调用一个侦听器的remove方法来移除一个侦听器。如 getEventListneres(wiondow).load[0].remove()可以移除第一个侦听器。其他以此类推。原创 2016-12-22 15:43:01 · 13825 阅读 · 1 评论 -
JS的prototype和__proto__
一、prototype和__proto__的概念prototype是函数的一个属性(每个函数都有一个prototype属性),这个属性是一个指针,指向一个对象。它是显示修改对象的原型的属性。__proto__是一个对象拥有的内置属性(请注意:prototype是函数的内置属性,__proto__是对象的内置属性),是JS内部使用寻找原型链的属性。用chrome和FF都可以访转载 2016-12-08 13:45:30 · 335 阅读 · 0 评论 -
关于js函数的参数传递问题
先来看例1var a =1;function myFunc(b){ b = 2; console.log(b);}myFunc(a);console.log(a);会依次打印出21再看例2var a =1;function myFunc(a){ a = 2; console.log(a);}myFunc(a);console.log(a);原创 2016-12-05 11:33:29 · 515 阅读 · 0 评论 -
js中两个等号和三个等号的区别
js中两个等号会进行类型转換,先转化为同类型的基础数据类型,再比较。而三个等号不会进行类型转换,如果类型不同就会直接返回false,复合类型必须是两个引用的内存是一个,才会返回true。这里我们主要想探讨一下两个等号时这个类型转換是怎么运作的。首先,如果两边都是基础数据类型,直接转換成同类型进行比较。例如'' == 0前面是个string 后面是个number,所以会把string原创 2017-08-23 15:35:23 · 1125 阅读 · 0 评论
分享