JavaScript進階(六)


在以前的學習中已經使用字符串對象了,定義字符串的方法就是直接賦值。好比:
var mystr="I Love JavaScript!"
定義mystr字符串後,咱們就能夠訪問它的屬性和方法。
訪問字符串對象的屬性length:
StringObject.length;返回該字符串的長度。
var mystr="Hello World!";
var myl=mystr.length;
以上代碼執行後,myl的值就是12
訪問字符串對象的方法:
使用String對象的toUpperCase()方法來將字符串小寫字母轉換成大寫:
var mystr="Hello World!";
var mynum=mystr.toUpperCase();
以上代碼執行後,mynum值是:HELLO WORLD!
charAt()方法可返回指定位置的字符。返回的字符是長度爲1的字符串。
語法:
stringObject.charAt(index)
參數說明:
index 必需。表示字符串中某個位置的數字,即字符在字符串中的下標。
注意:1.字符串中第一個字符的下標是0.最後一個字符的下標爲字符串長度減去一
(string.length-1)
2.若是參數index不在0與string.length-1之間,該方法將返回一個空字符串。
<script type="text/javascript">
var mystr="I love JavaScript!"
document.write(mystr.charAt(2));
</script>
注意:一個空格也算一個字符。
以上代碼運行結果是:1
indexOf()方法可返回某個指定的字符串值在字符串中首次出現的位置。
語法:
stringObject.indexOf(substring,startpos)
參數說明:
參數 描述
substring 必需。規定需檢索的字符串值
startpos 可選的整數參數。規定在字符串中開始檢索的位置。它
的合法取值是0刀stringObject.length-1.如省略該參數
則將從字符串的首字符開始檢索。
說明:1.該方法將從頭至尾地檢索字符串stringObject看它是否含有字符串substring
2.可選參數,從stringObject的startpos位置開始查找substring,若是沒有此參數
將從stringObject的開始位置查找。
3.若是找到一個substring,則返回substring的第一次出現的位置。stringObject
中的字符位置是從0開始的。
注意:1.indexOf()方法區分大小寫。
2.若是要檢索的字符串值沒有出現,則該方法返回-一、
例如:對"I love JavaScript"字符串內進行不一樣的檢索:
<script type="text/javascript">
var str="I love JavaScript!"
document.write(str.indexOf("I")+"<br />");
document.write(str.indexOf("v")+"<br />");
document.write(str.indexOf("v",8));
</script>]
以上代碼的輸出:
0 4 9
split()方法將字符串分割爲字符串數組,並返回此數組。
語法:
stringObject.split(separator,limit)
參數說明:
參數 描述
separator 必需。從該參數指定的地方分割stringObjectjavascript

limit 可選參數,分割的次數,如設置該參數,返回的子串不
會多於這個參數指定的數組,若是無此參數爲不限制次數java

注意:若是把空字符串("")用做separator,那麼stringObject中的每一個字符之間都
會被分割。
咱們將按照不一樣的方式來分割字符串:
使用指定符號分割字符串,以下:
var mystr="www.baidu.com";
document.write(mystr.split(".")+"<br>");
document.write(mystr.split(".",2)+"<br>");
運行結果:
www,baidu,com
www,baidu
將字符串分割爲字符,代碼以下:
document.write(mystr.split("")+"<br>");
document.write(mystr.split("",5));
運行結果:
w,w,w,.,b,a,i,d,u,.,c,o,m
w,w,w,.,b
substring()方法用於提取字符串中介於兩個指定下標之間的字符。
語法:
stringObject.substring(startPos,stopPos)
參數說明:
參數 描述
startPos 必需。一個非負的整數,開始位置。
stopPos 可選。一個非負的整數,結束位置,若是省略該參數,
那麼返回的子串會一直到字符串對象的結尾。
注意:
1.返回的內容是從start開始(包含start位置的字符)到stop-1處的全部字符,其長
度爲stop減start
2.若是參數start與stop相等,那麼該方法返回的就是一個空串(即長度爲0的字符串)
3.若是start比stop大,那麼該方法在提取子串以前會交換這兩個參數。
使用substring()從字符串中提取字符串,代碼以下:
<script type="text/javascript">
var mystr="I love JavaScript";
document.write(mystr.substring(7));
document.write(mystr.substring(2,6));
</script>
運行結果:
JavaScript
love
注意:這裏下標依舊是從0開始!外國佬就是一羣傻逼,就知道從0開始。每次搞的
我都懷疑人生。。。
substr()方法從字符串中提取從starPos位置開始的指定數目的字符串。
語法:
stringObject.substr(startPos,length)
參數說明:
參數 描述
startPos 必需。要提取的子串的起始位置。必需是數值、
length 可選。提取字符串的長度,若是省略,返回從stringObject
的開始位置startPos到stringObject的結尾的字符。
注意:若是參數startPos是負數,從字符串的爲不開始算起的位置,也就是說,-1指
字符串中最後一個字符,-2指倒數第二個字符,以此類推。
若是starPos爲負數且絕對值大於字符串長度,startPos爲0.
使用substr()從字符串中提取一些字符,代碼以下:
<script type="text/javascript">
var mystr="I love JavaScript!";
document.write(mystr.substr(7));
document.write(mystr.substr(2,4));
</script>
運行結果:
JavaScript!
love
Math對象提供對數據的數學計算。使用Math的屬性和方法,代碼以下:
<script type="text/javascript">
var mypi=Math.PI;
var myabs=Math.abs(-15);
document.write(mypi);
document.write(myabs);
</script>
運行結果:
3.141592653589793
15
注意:Math對象是一個固有的對象,無需建立它,直接把Math做爲對象使用就能夠
調用其全部屬性和方法。這是它與Date,String對象的區別。
Math對象的屬性:
屬性 說明
E 返回算術常量e,即天然對數的底數(約等於2.718)
LN2 返回2的天然對數(約等於0.693)
LN10 返回10的天然對數(約等於2.302)
LOG2E 返回以2爲底的e的對數(約等於1.442)
LOG10E 返回以10爲底的e的對數(約等於0.434)
PI 返回圓周率(約等於3.14159)
SQRT1_2 返回|返回2的平方根的倒數(約等於0.707)
SQRT2 返回2的平方根(約等於1.414)
Math方法:
方法 描述
abs(x) 返回數的絕對值
acos(x) 返回數的反餘弦值
asin(x) 返回數的反正弦值
atan(x) 返回數字的反正切值
atan2(y,x) 返回由x軸到點(x,y)的角度(以弧度爲單位)
ceil(x) 對數進行上舍入
cos(x) 返回數的餘弦
exp(x) 返回e的指數
floor(x) 對數進行下舍入
log(x) 返回數的天然對數(底數爲e)
max(x,y) 返回x和y中的最高值
min(x,y) 返回x和y中的最低值
pow(x,y) 返回x和y次冪
random() 返回0~1之間的隨機數
round(x) 把數四捨五入爲最近接的整數
sin(x) 返回數的正弦
sqrt(x) 返回數的平方根
tan(x) 返回角的正切
toSource() 返回該對象的源代碼
valueOf() 返回Math對象的原始值
ceil()方法可對一個數進行向上取整
語法:
Math.ceil(x)
參數說明:
參數 描述
x 必需。必須是一個數值。
注意:它返回的是大於或者等於x,而且與x最接近的整數。
咱們將ceil()方法運用到不一樣的數字上,代碼以下:
<script type="text/javascript">
document.write(Math.ceil(0.8)+"<br />")
document.write(Math.ceil(6.3)+"<br />")
document.write(Math.ceil(5)+"<br />")
document.write(Math.ceil(3.5)+"<br />")
document.write(Math.ceil(-5.1)+"<br />")
document.write(Math.ceil(-5.9))
</script>
運行結果:
1
7
5
4
-5
-5
注意!這裏要看清楚!是向上取整!什麼是向上!用點腦子!
向上取整是ceil()向下取整就是floor()。
語法:
Math.floor(x)
參數說明:
參數 描述
x 必需。必須是一個數值。
注意:返回的是小於或等於x,而且與x最接近的整數。
咱們將在不一樣的數字上使用floor()方法,代碼以下:
<script type="text/javascript">
document.write(Math.floor(0.8)+ "<br>")
document.write(Math.floor(6.3)+ "<br>")
document.write(Math.floor(5)+ "<br>")
document.write(Math.floor(3.5)+ "<br>")
document.write(Math.floor(-5.1)+ "<br>")
document.write(Math.floor(-5.9))
</script>
運行結果:
0
6
5
3
-6
-6
而後咱們來講正常的四捨五入,就是round()
round()方法可把一個數字四捨五入爲最接近的整數。
語法:
Math.round(x)
參數說明:
參數 描述
x 必需。必須是數字。
注意:
1.返回與x最接近的整數。
2.對於0.5,該方法將進行上舍入。(5.5將舍入爲6)
3.若是x與兩側整數同等接近,則結果接近則結果接近 +∞方向的數字值。
(如 -5.5 將舍入爲 -5; -5.52 將舍入爲 -6)
把不一樣的數舍入爲最接近的整數,代碼以下:
<script type="text/javascript">
document.write(Math.round(1.6)+ "<br>");
document.write(Math.round(2.5)+ "<br>");
document.write(Math.round(0.49)+ "<br>");
document.write(Math.round(-6.4)+ "<br>");
document.write(Math.round(-6.6));
</script>
運行結果:
2
3
0
-6
-7
隨機數random()方法可返回介於0~1(大於或等於0但小於1)之間的一個隨機數
語法:
Math.random();
注意:返回一個大於或等於0但小於1的符號爲正的數字值。
咱們取得介於0到1之間的一個隨機數,代碼以下:
<script type="text/javascript">
document.write(Math.random());
</script>
運行結果:
0.190305486195328
注意:由於這是隨機數,因此每次運行結果不同,可是0~1的數值。
得到0~10之間的隨機數,代碼以下:
<script type="text/javascript">
document.write((Math.random())*10);
運行結果:8.72153625893887
注意:這裏跟上面同樣的,依舊是每次運行結果不同。
數組對象是一個對象的集合,裏面的對象能夠是不一樣類型的。數組的每個成員對
象都有一個"下標",用來表示它在數組中的位置,是從零開始的。
數組定義的方法:
1.定義了一個空數組:
var 數組名= new Array();
2.定義時指定有n個空元素的數組:
var 數組名= new Array(n);
3.定義數組的時候,直接初始化數據:
var 數組名=[<元素1>,<元素2>,<元素3>...];
咱們定義myArray數組,並賦值,代碼以下:
var myArray=[2,8,6];
說明:定義了一個數組myArray,裏面的元素是myArray[0]=2;myArray[1]=8;myarray[2]=6。
數組元素使用:
數組名[下標]=值;
注意:數組的下標用方括號括起來,從0開始。
數組屬性:
length用法:<數組對象>length;返回:數組的長度,即數組裏有多少個元素。它等於
數組裏最後一個元素的下標加一。
數組方法:
方法 描述
concat() 鏈接兩個或更多的數組,並返回結果
join() 把數組的全部元素放入一個字符串,元素經過指定的分隔符進行分隔
pop() 刪除並返回數組的最後一個元素
push() 向數組的末尾添加一個或更多元素,並返回新的長度
reverse() 顛倒數組中元素的順序
shift() 刪除並返回數組的第一個元素
slice() 從某個已有的數組返回選定的元素
sort() 對數組的元素進行排序
splice() 刪除元素,並向數組添加新元素
toSource() 返回該對象的源代碼
toString() 把數組轉換爲字符串,並返回結果
toLocaleString() 把數組轉換爲本地數組,並返回結果
unshift() 向數組的開頭添加一個或多個元素,並返回新的長度
valueOf() 返回數組對象的原始值
先說說數組鏈接concat()
concat()方法用於鏈接兩個或多個數組。此方法返回一個新數組,不改變原來的數組
語法:
arrayObject.concat(array1,array2...arrayN)
參數說明:
參數 說明
array1 要鏈接的第一個數組
... ...
arayN 第N個數組
注意:該方法不會改變現有的數組,而僅僅會返回被鏈接數組的一個副本。
咱們建立一個數組,將把concat()中的參數鏈接到數組myarr中,代碼以下:
<script type="text/javascript">
var mya=new Array(3);
mya[0]="1";
mya[1]="2";
mya[2]="3";
document.write(mya.concat(4,5)+"<br>");
document.write(mya);
</script>
運行結果:
1,2,3,4,5
1,2,3
咱們建立三個數組,而後用concat()把它們鏈接起來,代碼以下:
<script type="text/javascript">
var mya1=new Array("hello!");
var mya2=new Array("I","love");
var mya3=new Array("JavaScript","!");
var mya4=mya1.concat(mya2,mya3);
document.write(mya4);
</script>
運行結果:
hello!,I,love,JavaScript,!
join()方法用於把數組中的全部元素放入一個字符串。元素是經過指定的分隔符進
行分隔的。
語法:
arrayObject.join(分隔符)
參數說明:
參數 描述
separator 可選。指定要使用的分隔符。若是省略該參數,則使用逗號爲分隔符
注意:返回一個字符串,該字符串把數組中的各個元素串起來,用<分隔符>置於元
素與元素之間。這個方法不影響數組本來的內容。咱們使用join()方法,將數組的
全部元素放入一個字符串中,代碼以下:
<script type="text/javascript">
var myarr=new Array(3);
myarr[0]="I";
myarr[1]="love";
myarr[2]="JavaScript";
document.write(myarr.join());
</script>
運行結果:
I,love,JavaScript
咱們將使用分隔符來分隔數組中的元素,代碼以下:
<script type="text/javascript">
var myarr=new Array(3)
myarr[0]="I";
myarr[1]="love";
myarr[2]="JavaScript";
document.write(myarr.join("."));
</script>
運行結果:
I.love.JavaScript
reverse()方法用於顛倒數組中元素的順序。
語法:
arrayObject.reverse()
注意:該方法會改變原來的數組,而不會建立新的數組。
定義數組myarr並賦值,而後顛倒其元素順序:
<script type="text/javascript">
var myarr=new Array(3);
myarr[0]="1"
myarr[1]="2"
myarr[2]="3"
document.write(myarr+"<br />")
document.write(myarr.reverse())
</script>
運行結果:
1,2,3
3,2,1
什麼叫顛倒,懂吧?123就變成321,我愛你就變成你愛我。
選定元素slice()方法可從已有的數組中返回選定的元素。
語法:
arrayObject.slice(start,end)
參數說明:
參數 描述
start 必需。規定從何處開始選取。若是是負數,那麼它規定從數組尾
部開始算起的位置。也就是說,-1是倒數第一個,-2是倒數第二個。
end 可選。規定從何處結束選取。該參數是數組片斷結束處的數組下
標。若是沒有指定該參數,那麼切分的數組包含從start到數組結束
的全部元素。若是這個參數是負數,那麼它規定是從數組尾部開
始算起的元素。
1.返回一個新的數組,包含從start到end(不包括該元素)的arrayObject中的元素。
2.該方法並不會修改數組,而是返回一個子數組。
注意:
1.可以使用負值從數組的尾部選取元素。
2.若是end未被規定,那麼slice()方法會選取從start到數組結尾的全部元素
3.String.slice()與Array.slice()類似
slice是含頭不含尾的!!記住了!!!
咱們將建立一個新數組,而後從其中選取的元素,代碼以下:
<script type="text/javascript">
var myarr = new Array(1,2,3,4,5,6);
document.write(myarr + "<br>");
document.write(myarr.slice(2,4) + "<br>");
document.write(myarr);
</script>
運行結果:
1,2,3,4,5,6
3,4
1,2,3,4,5,6
sort()方法使數組中的元素按照必定的順序排列。
語法:
arrayObject.sort(方法函數)
參數說明:
參數 描述
方法函數 可選。規定排序順序。必須是函數。
1.若是不指定<方法函數>,則按unicode碼順序排列
2.若是指定<方法函數>,則按照<方法函數>所指定的排序方法排序。
myArray.sort(sortMethod);
注意:該函數要比較兩個值,而後返回一個用於說明這兩個值的相對順序的數字。
比較函數應該具備兩個參數a和b,其返回值以下:
若返回值<=-1,則表示A在排序後的序列中出如今B以前。
若返回值>-1&&<1,則表示A和B具備相同的排序順序。
若返回值>=1,則表示A在排序後的序列中出如今B以後。
1.使用sort()將數組進行排序,代碼以下:
<script type="text/javascript">
var myarr1=new Array("Hello","John","love","JavaScript");
var myarr2=new Array("80","16","50","6","100","1");
document.write(myarr1.sort()+"<br>");
document.write(myarr2.sort());
</script>
運行結果:
Hello,JavaScript,Jhon,love
1,100,16,50,6,80
注意:上面的代碼沒有按照數值大小對數字進行排序
2.如要實現這一點,就必須使用一個排序函數,代碼以下:
<script type="text/javascript">
function sortNum(a,b){
return a-b;
//升序。如需降序就把"a-b"改爲"b-a"
}
var myarr=new Array("80","16","50","6","100","1");
document.write(myarr+"<br>");
document.write(myarr.sort(sortNum));
</script>
運行結果:
80,16,50,6,100,1
1,6,16,50,80,100數組

某班的成績出來了,如今老師要把班級的成績打印出來。
效果圖:
XXXX年XX月X日 星期X--班級總分爲:81
格式要求:
一、顯示打印的日期。 格式爲相似「XXXX年XX月XX日 星期X」 的當前的時間。
二、計算出該班級的平均分(保留整數)。
同窗成績數據以下:
"小明:87; 小花:81; 小紅:97; 小天:76;小張:74;小小:94;小西:90;小伍:76;
小迪:64;小曼:76" 答案以後貼出來或者找我私聊。dom

相關文章
相關標籤/搜索