INDEX-HTML

JavaScript 随笔






--
数组 1,1,2,3,5,8,13,21....................
javascript递归算法计算第32位数字


<script type="text/javascript">
//1,1,2,3,5,8,13..........(32)
function recursion(num){

if(num <= 0){
return 0;
}
else if(num > 0 && num <= 2){
return 1
}
else{
return recursion(num-1) + recursion(num -2);
}

}


window.onload
=function(){

var s=recursion(32);
alert(
"result:"+s);


}
</script>

 

 --
冒泡泡排序方法

//数组排序
var mArray = [88,1,7,5,3,9,2,8,22];

//冒泡泡排序方法
function Sort(arr) {
//var arr = Str.split("");
//var arr = [7,5,3,9,2,8,22];
var temp;
for (var i = 0; i < arr.length; i++) {
for (var j = i; j < arr.length; j++) {
if (arr[i] < arr[j]) {
temp
= arr[i];
arr[i]
= arr[j];
arr[j]
= temp;
}
}
}
return arr;
}

alert(Sort(mArray));

 

 


--
字符串数据转成json对象

//字符串转json
function str2json(str){
	var json = (new Function("return " + str))();
	return json;
}

function string2json(str){
	return eval('(' + str + ')');  	
}




--
IE下复制内容到系统剪切板
 <input id="publink" type="text" value="http://****.com/m.php?m10866" />
 <a href="javascript:void(0)" onclick="clipboardData.setData('Text',document.getElementById('publink').value);"  >复制</a></span>
     
 //clipboardData.setData('Text',document.getElementById('publink').value);

--
兼容IE和火狐的复制内容到系统剪切板的代码,但是火狐需要设置:!

	//clipboardData.setData('Text',document.getElementById('publink').value);
	function copyToClipboard(txt) {    
	     if(window.clipboardData) {    
	             window.clipboardData.clearData();    
	             window.clipboardData.setData("Text", txt);  
	             alert("复制成功!")   
	     } else if(navigator.userAgent.indexOf("Opera") != -1) {    
	          window.location = txt;    
	     } else if (window.netscape) {    
	          try {    
	               netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");    
	          } catch (e) {    
	               //alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'"); 
	               alert("被FireFox浏览器拒绝!\n请直接在左侧Ctrl+A,Ctrl+C复制吧!");      
	          }    
	          var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);    
	          if (!clip)    
	               return;    
	          var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);    
	          if (!trans)    
	               return;    
	          trans.addDataFlavor('text/unicode');    
	          var str = new Object();    
	          var len = new Object();    
	          var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);    
	          var copytext = txt;    
	          str.data = copytext;    
	          trans.setTransferData("text/unicode",str,copytext.length*2);    
	          var clipid = Components.interfaces.nsIClipboard;    
	          if (!clip)    
	               return false;    
	          clip.setData(trans,null,clipid.kGlobalClipboard);    
	          alert("复制成功!")    
	     }    
	}   



--
<a  href="javascript:history.go(-1)">返回</a>

window.location.href = "member.php?action=detail&user_id=520";   
--

--
javascript翻转字符串,很老掉牙的js题,可是每个招js的单位还总是出这样的题!
哎,难道各家公司的招聘题目都是从网上下载的吗、!

var a='a,b,c,d,e,f,g';

//反转字符串的方法
function reversedStr(str){
var m=[];
var n=[];

m
=str.split(",");//将字符串根据“,”号分割为数组
for(var i=m.length; i>0;i--){
n.push(m[i
-1]);//由大到小存入新数组,因为数组下标从0开始,为数组长度减一,
}

return n.join(",");//将翻转后的数组以“,”连接成一个字符串返回
}

alert(reversedStr(a));
//调用方法,反转字符串!

 


--



在一个方法里要经常debug,查看数据输出,加个时间戳标记一下,其实挺好的。

dt: function(){
	return  (new Date).getHours() + ":" + (new Date).getMinutes() + ":" + (new Date).getSeconds() + "'" + (new Date).getMilliseconds() + "”";
},




posted @ 2010-07-15 16:31  sudo!!  阅读(378)  评论(0编辑  收藏  举报