静态页面参数传递&回调函数写法&快速排序的实现方法

    xiaoxiao2021-03-25  76

    相信很多人都有一种陋习,就是收藏的文章,几乎从来都没有回过头来仔细看过。这次借着这次活动的机会,在《无懈可击的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就行了。

    转载请注明原文地址: https://ju.6miu.com/read-23005.html

    最新回复(0)