javaseday35(方法的调用要用括号 字符的练习 数组的练习)
来源:互联网 发布:创世数据查询 编辑:程序博客网 时间:2024/05/14 07:47
<script type="text/javascript" src="doctool.js"></script><script type="text/javascript"> /*for(var x= 0;x<=3;x++)//在脚本片段中定义的变量是全局变量 { document.write("x="+x); }*/ function show() { var x= 7;//局部变量 } function show (x)//函数局部的变量x 不会影响全局 { x= 8; } //show(x); //document.write("x===="+x);//4 /* 演示object对象 toString() 将对象变成字符串 valueOf() */ //alert(show.toString());// var arr=[3,4,5,6]; //alert(arr.toString()); var abc = function(){ alert("abc"); } //alert(abc); //alert(arr.valueOf()); /* 演示string对象 表现形式 var str = new String("abc"); var str = "abc"; */ var str = " abcedd "; println(str.fontcolor("red"));//变色 println(str.bold());//加粗 println(str.link("http://www.baidu.com"));//超链接 println(str.substring(1,3));//bc println(str.substr(1,3));//bce /* 发现js中的 string对象方法有限 想要对字符串操作的其他功能 比如去除字符串两端的空格 这时只能自定义 */ //去除字符串两端的空格 function trim(str) { //定义两个变量 一个记录开始的位置 一个记录结束的位置 //对开始的位置的字符进行判断 如果是空格 就进行递增 直到不是空格为止 //对结束的位置的字符进行判断 如果是空格 就进行递减 直到不是空格为止 //必须要保证开始<=结束 这就才可以进行截取 var start,end; start=0; end=str.length-1; while (start<=end &&str.charAt(start)==" ") { start++; } while (start<=end &&str.charAt(end)==" ") { end--; } return str.substring(start,end+1); } //alert("--"+str+"--"); //alert("--"+trim(str)+"--"); //(str+"--"); /* 既然trim方法是用来操作字符串的方法 可不可以像字符串已有的方法一样 将该方法也定义到字符串对象中呢 ? 直接用字符串对象调用就可以了 这里就可以使用一个该字符串的原型属性来完成 原型 就是该对象的一个描述 该描述中 如果添加了新功能 那么该对象都会具备这些新功能 而prototype就可以获取到这个原型对象 通过prototype就可以对对象的功能进行扩展 想要给string对象添加一个可以去除字符串两端空格的新功能 就可以使用原型属性来完成 */ //给string 的原型添加一个功能 注意 给对象添加功能 直接使用 对象.新内容即可 String.prototype.trim = trim; /*String.prototype.len=199;//给string的原型对象中添加一个属性名为len 值为199 println("haha".len); alert(str.trim(str)); var ss = "lll"; ss.haha=8090; println(ss.haha);*/ //添加行为 String.prototype.trim=function() { var start,end; start=0; end=this.length-1; while (start<=end &&this.charAt(start)==" ") { start++; } while (start<=end &&this.charAt(end)==" ") { end--; } return this.substring(start,end+1); } alert("--"+" a a ".trim()+"--"); //alert(str);</script><script type="text/javascript"> document.write("xxx"+x);//上面的变量定义了这里也能用</script> </head><body></body>
/* 1、给字符串添加一个功能 将字符串变成一个字符数组 2、给字符串添加一个功能 将字符串进行反转*/var str = "abced";//alert(str.toCharArray());println(str.reverse());
stringtool.js
/*去取两端空格*/String.prototype.trim=function() { var start,end; start=0; end=this.length-1; while (start<=end &&this.charAt(start)==" ") { start++; } while (start<=end &&this.charAt(end)==" ") { end--; } return this.substring(start,end+1); }/*字符串新功能 添加一个将字符串转成字符数组返回一个数组*/ String.prototype.toCharArray=function(){ //定义一个数组 var cha = []; //将字符串中的每一位字符存储到字符数组中 for(var x= 0;x<this.length;x++) { cha[x] = this.charAt(x);//方法的调用是括号 } return cha; }String.prototype.reverse=function(){ var arr = this.toCharArray(); //将数组位置置换功能进行封装 并定义到了反转功能内部 function swap(arr,x,y)//内部类 { var temp = arr[y]; arr[y]=arr[x]; arr[x]=temp; } for(var x= 0,y=arr.length-1;x<y;x++,y--) { swap(arr,x,y); //注意点和逗号 } //alert(arr); return arr.join(",");}
//演示数组var arr = ["ddd","csa","asx","abb"];var arr2 = ["qq","fdfd"];println(arr);//在arr数组上连接一个元素"mm"再连接一个arr2数组println(arr.concat("mm",arr2));//将mm作为新数组中的元素 将arr2数组中的元素也作为新数组中的元素println(arr.join("-"));println(myJoin(arr,"+"));//模拟join的实现原理function myJoin(arr,separator){ var str = ""; for(var x= 0; x<arr.length;x++) { if(x!=arr.length-1) { str += arr[x] +separator; } else str+=arr[x]; } return str;}//移除数组中的元素 并返回该元素 pop/*println(arr);println(arr.pop());//删除并返回最后一个俄元素println(arr);//var arr3 = [[],[]];//arr3.push(arra,arrb,arrc);//var arr4 = [arra,arrb,arrc];println(arr.reverse());println(arr.shift());//删除并返回第一个元素*/println(arr);//arr.sort();//arr.splice(1,2,8033,1234,22,"hrhr");//删除元素并进行元素的替换//println(arr.unshift(22));//返回长度并在开头加入元素println(arr);
<script type="text/javascript"> /* 数组练习 用数组实现js中的堆栈 或者队列数据结构 */ var arr =[]; //arr.unshift("abc1","abc2","abc3");//按照参数顺序插入 添加一次 arr.unshift("abc1"); arr.unshift("abc2"); arr.unshift("abc3"); //println(arr.pop()); //println(arr.pop()); //println(arr.pop());//队列结构 println(arr.shift()); println(arr.shift()); println(arr.shift());//栈结构 println(arr);</script>
阅读全文
0 0
- javaseday35(方法的调用要用括号 字符的练习 数组的练习)
- 数组的练习
- 数组的使用练习
- 数组的练习
- 数组的练习
- 数组遍历的练习
- 数组函数的练习。
- 简单的数组练习
- 二维数组的练习
- Java 二维数组练习-----字符界面的扫雷
- 练习英语口语的方法
- js的方法练习
- 练习:有参方法的一个练习
- 38-练习函数的调用
- 用数组表示堆栈的练习。
- 【算法练习】数组的反转
- 关于数组的若干练习
- 数组的练习 ----最大最小值
- 点击弹窗
- 道哥自述:为什么弹性安全网络将诞生最大的人工智能?
- androiddialog大全
- (原创题)九宫格 (搜索+模拟)
- Maven—Eclipse中配置Maven
- javaseday35(方法的调用要用括号 字符的练习 数组的练习)
- Git 生成key 和SSH的两种方式(putty 和android studio)
- 计算机视觉与卷积神经网络
- MP3文件结构(1)
- http与https
- JavaScript继承模式
- 浅析python 中__name__ = '__main__' 的作用
- Centos7下安装Tahoe-LAFS
- dateRangePicker插件用法