zoukankan      html  css  js  c++  java
  • 静态页面参数传递&回调函数写法&快速排序的实现方法

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

    1. 非参数回调函数
    function demo(one,callback){
    	alert(one);
    	if(callback && callback instanceof Function){
    		callback();
    	}
    }
    demo('a',function(){
    	alert('b');
    });
    
    1. 带参数的回调函数
    function each(obj,callback){
    	for(var i=0;l=obj.length;i<l;i++){
    		callback.call(obj,i,obj[i]);
    	}
    }
    

    三、《JavaScript快速排序的实现方法》

    思路:

    1. 在数据集中,选择一个元素作为“基准”(pivot)
    2. 所有小于基准的元素,都迁移到基准左边,所有大于基准的元素,都迁移到基准右边
    3. 对基准左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止
    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就行了。

  • 相关阅读:
    第八章 多线程编程
    Linked List Cycle II
    Swap Nodes in Pairs
    Container With Most Water
    Best Time to Buy and Sell Stock III
    Best Time to Buy and Sell Stock II
    Linked List Cycle
    4Sum
    3Sum
    Integer to Roman
  • 原文地址:https://www.cnblogs.com/depsi/p/5046769.html
Copyright © 2011-2022 走看看