静态页面参数传递&回调函数写法&快速排序的实现方法
2015-12-14 22:38
579 查看
相信很多人都有一种陋习,就是收藏的文章,几乎从来都没有回过头来仔细看过。这次借着这次活动的机会,在《无懈可击的web设计》一书的学习过程中,穿插着讲自己曾经收藏过的,现在觉得还有价值的文章再看一遍,并记录笔记。努力做到:收藏 是因为自己看过了,懂了,怕忘掉而收藏,不是收藏了告诉自己,有空再看。
一、《利用js方法实现html静态页面间参数传递》
aa.html是参数输入界面
bb.html是参数接收界面
aa.html:
<html> <head></head> <body> <input type = "text" id = "inputid"> <input type = "button" onclick = "submit()" value = "提交"> <script> function submit(){ var input1 = document.getElementById("inputid"); window.open("bb.html?inputStr=" + input1.value);//传入参数 } </script> </body> </html>
bb.html:
<html> <head></head> <body> <script> //获得参数的方法 var request = { QueryString : function(val){ var uri = window.location.search; var re = new RegExp("" +val+ "=([^&?]*)", "ig"); return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null); } } </script> <script> //调用方法获得参数 var rt = request.QueryString("inputStr"); alert(rt); </script> </body> </html>
二、《js回调函数的写法》
非参数回调函数function demo(one,callback){ alert(one); if(callback && callback instanceof Function){ callback(); } } demo('a',function(){ alert('b'); });
带参数的回调函数
function each(obj,callback){ for(var i=0;l=obj.length;i<l;i++){ callback.call(obj,i,obj[i]); } }
三、《JavaScript快速排序的实现方法》
思路:在数据集中,选择一个元素作为“基准”(pivot)
所有小于基准的元素,都迁移到基准左边,所有大于基准的元素,都迁移到基准右边
对基准左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止
var quickSort=function(arr){ if(arr.length<=1) {return arr}; var pivotIndex=Math.floor(arr.length/2); var pivot=arr.splice(pivotIndex,1)[0]; var left=[]; var right=[]; for(var i=0;i<arr.length;i++){ if(arr[i]<pivot){ left.push(arr[i]); }else{ right.push(arr[i]); } } return quickSort(left).concat([pivot],quickSort(right)); }
使用的时候,直接调用quickSort就行了。
相关文章推荐
- 数据库迁移:MySQL->PostgreSQL注意问题汇总(基于项目并不完整)
- Python 多线程
- 从头到尾写SQL(三)
- JavaScript 执行上下文环境
- JavaScript 继承
- NGUI 背包系统的拖拽
- iOS开发之开机经典滑动动画
- qt之VS2008编译
- 初学者如何进行代码重构
- oop-Inheritance & Polymorphism
- 架构 Roadmap 笔记分享
- 解决github push错误The requested URL returned error: 403 Forbidden while accessing
- JavaScript 正则表达式
- JavaScript RegExp 对象
- C程序练习
- 蓝懿ios技术交流和心得分享12.14
- ES6个人学习整理(一)——编译环境搭建
- 随意细解:UI -- 多线程编程
- Delete Node in a Linked List
- ssh免登录