JavaScript-基礎文法(3)
<script type=text/javascript > //String對象:var str1 = xx var str2 = new String(d); var str = aasdasd; outln(len = +str.length); outln(str.bold());//相當於 str outln(str.fontcolor(red));//相當於 str outln(str.link(http://www.baidu.com));//超連結 outln(str.substr(1,3));//從下標為1開始截取3個 outln(str.substring(1,3));//含頭不含尾</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數組對象:ArrayArray方法: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;itep) 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()+);//當前日期和時間 // 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); }