javaseday35(方法的调用要用括号字符的练习 数组的练习)

xiaoxiao2021-02-28  89

<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>
转载请注明原文地址: https://www.6miu.com/read-33935.html

最新回复(0)