您的位置:首页 > Web前端 > JavaScript

js自定义函数总结

2015-08-01 21:05 676 查看

js自定义函数总结

1、编写一个方法 求一个字符串的字节长度

演示代码:

new function(s){
if(!arguments.length||!s) return null;
if(""==s) return 0;
var l=0;
for(var i=0;i<s.length;i++){
if(s.charCodeAt(i)>255) l+=2; else l++;
}
alert(l);
}("hello world!");

2、按照格式 xxxx年xx月xx日xx时xx分xx秒动态显示时间 要求不足10的补0

演示代码:

<script type="text/javascript" language="javascript">
function tick(){
var d=new Date();
var t=function(a){return a<10?"0"+a:a;}
Clock.innerHTML=d.getFullYear()+"年"+t(d.getMonth()+1)+"月"+t(d.getDate())+"日"+t(d.getHours())+"时"
+t(d.getMinutes())+"分"+t(d.getSeconds())+"秒";
window.setTimeout("tick()",1000);
}
window.onload=tick;
</script>

<body>
<div id="Clock"></div>
</body>

3、编写一个方法 去掉一个数组的重复元素

演示代码:

Array.prototype.strip=function(){
if(this.length<2) return [this[0]]||[];
var arr=[];
for(var i=0;i<this.length;i++){
arr.push(this.splice(i--,1));//将本数组中第一个元素取出放入到数组arr中
for(var j=0;j<this.length;j++){
if(this[j]==arr[arr.length-1]){
this.splice(j--,1);//删除本数组中与数组arr中最后一个元素相同的元素
}
}
}
return arr;
}

var arr=["abc",85,"abc",85,8,8,1,2,5,4,7,8];
alert(arr.strip());

4、为Array写一个indexof方法

演示代码:

Array.prototype.indexOf = function(e){
for(var i=0,j; j=this[i]; i++){
if(j==e){return i;}
}
return -1;
}

Array.prototype.lastIndexOf = function(e){
for(var i=this.length-1,j; j=this[i]; i--){
if(j==e){return i;}
}
return -1;
}

var arr=[1,2,3,4,5];
alert(arr.indexOf(5));

5、用javascript写一个杨辉三角形

演示代码:
<!DOCTYPE html>

</head>
<body>

<!--  直接传入希望得到的杨辉三角的行数   -->
<input value="杨辉三角" type="button" onclick="Pascal(10);" />

<script type="text/javascript">
function Combination(m,n){
if(n == 0){return 1;}  //每行第一个数为1
else if(m == n){return 1;} //最后一个数为1
//其余都是相加而来
else{
return Combination(m-1,n-1)+Combination(m-1,n)};
}
function Pascal(n){   //杨辉三角,N为行数
for( var i = 0 ; i < n ; i++ ){   //一共N行
for ( var j = 0 ; j <= i ; j++ ) {  //每行数字的个数即为行号、例如第1行1个数、第2行2个数
document.write(Combination(i,j)+"  ");
}
document.write("<br/>");
}
}

</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: