JavaScript
homandjing
软件工程专业学生
展开
-
javascript中trim(), startsWith(), endsWith() 函数的实现
String.prototype.trim= function(){ // 用正则表达式将前后空格 // 用空字符串替代 return this.replace(/(^\s*)|(\s*$)/g, ""); } String.prototype.startsWith = function(str){ return (thi...原创 2011-08-25 14:26:39 · 419 阅读 · 0 评论 -
JavaScript Array
pop()和push()操作数组的末尾 shift()和unshift()操作数组的开头 push()和shift()组合可模拟队列 pop()和unshift()组合可反向模拟队列2011-12-29 16:17:34 · 69 阅读 · 0 评论 -
Web Workers 网页工人线程
自JavaScript 诞生以来,还没有办法在浏览器 UI线程之外运行代码。网页工人线程API 改变了这种状况,它引入一个接口,使代码运行而不占用浏览器UI线程的时间。作为最初的HTML 5 的一部分,网页工人线程API 已经分离出去成为独立的规范(http://www.w3.org/TR/workers/ )。 网页工人线程对网页应用来说是一个潜在的巨大性能提升,因为新的...2013-03-05 07:54:52 · 91 阅读 · 0 评论 -
ECMAScript 继承机制实现
一直没明白call(),所以找个一下资料,终于呢,是理清了,简单点说呢,就俩字“继承”。 直接上代码了 function ClassA(sColor) { this.color = sColor; this.sayColor = function () { alert(this.color); };} ...原创 2012-07-21 13:23:22 · 75 阅读 · 0 评论 -
hide keyboard
var hideKeyboard = function() { document.activeElement.blur(); $("input").blur();};原创 2012-10-26 15:57:53 · 238 阅读 · 0 评论 -
关于JS预解析一道题
var i=10;var j=3;function a() { console.log(i);//undefined console.log(j);//3 var i = 2; console.log(i);//2};a(); 原来JS在执行过程之前,会对【var】和【function】定义做“预解析”。解析引擎以块...原创 2013-01-31 07:50:46 · 121 阅读 · 0 评论 -
两种交换排序:冒泡排序与快速排序
冒泡排序基本思想:把数组垂直排列,把各项的值当作气泡的重量。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组:凡扫描到违反本原则的轻气泡,就使其向上“漂浮”。如此反复进行,直到最后两个气泡都是轻者在上,重者在下为止。function bubbleSort(arr){ var len = arr.length, i, j, temp; var exchange = false;...2014-04-02 23:15:42 · 101 阅读 · 0 评论 -
JS数组的去重与降维
去重:创建一个空数组和一个空对象,在for循环中,每次取出一个元素,检测是否已经是对象的key,如果不存在就加入到新建的数组中。 降维:由于不能给this赋值,所以先将数组赋值给that。在for循环中,每次取出一个元素,检测是否是数组。如果是,把数组拆分成3个部分:当前元素之前所有元素组成的数组、当前元素(也是数组)、当前元素之后的所有元素组成的数组。用concat将这...2014-04-10 01:12:11 · 280 阅读 · 0 评论 -
Sheep Problem
// 1. sheep produce next generation on 2th and 4th year// 2. sheep dies on 5th year// 3. calculate total amount on certain yearvar sheepfold = [], index = 0, amount;function She...2016-03-24 16:57:13 · 154 阅读 · 0 评论