首页 > 代码库 > JavaScript-基础语法(3)
JavaScript-基础语法(3)
String的基本功能
out:封装的document.write();
很多方法与java重复
out:封装的document.write();
很多方法与java重复
<script type="text/javascript" src=http://www.mamicode.com/"Out.js"> </script>>
自定义功能:
1.定义一个去除字符串两端空格的方法function trim(x){ var i = 0,j = x.length-1; for(;i< x.length, x.charAt(i)==' ',j>=0, x.charAt(j)==' ';i++,j--); return x.substring(i,j+1); } var str = " a s d asd "; alert(str); alert("-"+trim(str)+"-");
String的原型属性:prototype(重点)
对于字符串的bold()方法可以由字符串对象直接调用,而上面的trim方法也是用来操作字符串的方法,如何实现将trim方法添加到字符串对象中,直接由对象调用,
String的原型是String.prototype
那么我们就可以使用一个该字符串的原型属性来完成
原型:就是该对象的一个描述,该描述中如果添加了新功能
那么该对象都会具备这个功能
而prototype就可以获取该字符串的原对象(prototype就可以使对象的功能进行扩展)
将自定义的trim方法,添加到str中function trim(x){ var i = 0,j = x.length-1; for(;i< x.length, x.charAt(i)==' ',j>=0, x.charAt(j)==' ';i++,j--); return x.substring(i,j+1); } var str = " a s d asd "; String.prototype.sss = 250;//给string原型添加一个sss属性名为sss = 199; //那么随便 一个字符串对象都有sss,且都是199 //第一种 String.prototype.trim = trim; alert(str.trim(str)); //第二种,匿名 String.prototype.trim = function (){ var i = 0,j = this.length-1; for(;i< this.length, this.charAt(i)==' ',j>=0, this.charAt(j)==' ';i++,j--); return this.substring(i,j+1); } alert(str.trim()); /*开发时封装为一个单独的文件,导入即可*/
原型练习:
1.给字符串添加一个字符串变数组的功能
2.添加字符串反转功能var str = "abcd"; String.prototype.toCharArray = function(){ var ch = []; for(var i = 0;i<this.length;i++) ch[i] = this.charAt(i); return ch; } String.prototype.rev = function(){ var ch = this.toCharArray(); var low = 0,high = this.length-1; function swap(str,i,j){//函数中定义函数,java不允许,类似于java内部类 var t = str[i]; str[i] = str[j]; str[j] = t; } while(low<high){ swap(ch,low++,high--); } return ch.join("");//去除字符数组中的逗号 } alert(str.toCharArray()); alert(str.rev());
数组对象:Array
Array方法:var arr = ["asd","cd",1,2,"ds"]; var arr1 = ["d","cvd"]; var newarr = arr.concat(arr.concat("aa",arr1));//将"aa"作为连接到arr数组,再将arr1数组链接 /*outln(newarr); outln(newarr.join());//默认逗号 outln(newarr.join("")); outln(newarr.pop());//移除数组的最后一个元素并返回 outln(newarr.push("zzz"));//添加一个新元素到数组并返回新长度,元素也可以是数组 //JS中的二位数组,var s = [[],[],[],[]]; outln(arr.reverse());//反转 outln(arr.shift());//移除数组中的第一个元素并返回 outln(arr); outln(arr.slice(1,3));//返回数组中的一段,*/ // 含头不含尾,头尾有一个为负,就+length,尾大于头不做赋值 //outln(arr.sort());//返回一个已经进行排序的Array对象 //outln(arr.splice(0,3,250,9527,"asd","xc"));//0是开始位置,3是删除3个元素,添加4个元素 //移除一个或多个元素,且可以在移除元素的位置上添加新元素,返回移除元素 //arr.unshift("12233");//将指定的元素插入数组的开始位置并返回数组 //outln(arr); //unshift 和pop,就可以实现数据结构:队列 //unshift 和shift:实现数据结构:栈
Array练习自定义功能
//自定义Array功能Array.prototype.getMax = function(){ var tep = 0; for(var i = 0;i<this.length;i++){ if(this[i]>tep) tep = i; } return this[tep]; } //数组的复写 Array.prototype.toString = function(){ return "["+this.join()+"]"; }
Js常用对象 — Date对象
作用:启用基本存储器并取的日期和时间var obj = null; obj = new Date(); obj = new Date(dateva);//dateva:距离1970年。。。。 obj = new Date(year,month,date[,[minutes[,[seconds[,ms]]]]]);
方法演示:var date = new Date(); //document.writeln(date);//默认方式 //document.writeln(date.toLocaleString()+"<br/>");//当前日期和时间 // outln(date.toLocaleDateString());//日期 // outln(date.getFullYear()+"/"+(date.getMonth()+1)+"/"+date.getDate()); var week = date.getDay(); function getWeek(num){ var week = ["星期天","星期一","星期二","星期三","星期四","星期五","星期六"]; return week[num]; } // outln("week is : "+getWeek(week)); var date2 = new Date(); var time = date2.getTime();//获取毫秒值 //outln(time);//1417177204024 : 20点20 //将毫秒值转成日期对象 1.new Date(); 2.setTime(); var date3 = new Date(time); //日期对象转成字符串 toLocaleString(),toLocaleDateString() //字符串转成日期对象 具备指定格式的日期字符串 -> 毫秒值 -> 日期对象 var date_str = "11/28/2014"; var time_mi = Date.parse(date_str);//字符串与1970.1.1的毫秒差,但是必须是:月/日/年 var date4 = new Date(time_mi); outln(date4.toLocaleString());
Js特有语句:with
为了简化对象调用内容的书写,可以使用Js中的特有语句with来完成
witn (对象){
在该区域内可以直接使用指定的对象的内容,不需要 对象.
}var date = new Date(); with(date){ //var year = date.getFullYear(); var year = getFullYear(); } outln(year);
Js常用对象Math对象—基本功能:
注意该对象中的方法都是静态,直接Math调用即可var num1 = Math.ceil(12.35);//大于等于指定参数的最小整数 var num2 = Math.floor(12.34);//小于等于指定参数的最大整数 var num3 = Math.round(12.56);//四舍五入 outln("num1 = "+num1); outln("num2 = "+num2); outln("num3 = "+num3); for(var i = 0;i<10;i++){ //var num = Math.random()*10+1;//如此生成的是伪随机数 // var num = Math.floor(Math.random()*10+1);可以 var num = parseInt(Math.random()*10+1);//parseInt是全局方法,Global对象 outln(num); }JavaScript-基础语法(3)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。