JavaScript的內部對象 按創建方式不同分為:使用變數聲明的隱性對象,使用new創建的顯性對象 隱性對象 在賦值和聲明後就是一個隱性對象,隱性對象不支持prototype屬性,也無法隨意擴展對象屬性。 顯性對象 顯性對象支持prototype屬性,支持新建對象屬性。 JavaScript提供了 ...
JavaScript的內部對象
按創建方式不同分為:使用變數聲明的隱性對象,使用new創建的顯性對象
隱性對象
在賦值和聲明後就是一個隱性對象,隱性對象不支持prototype屬性,也無法隨意擴展對象屬性。
顯性對象
顯性對象支持prototype屬性,支持新建對象屬性。
-
JavaScript提供了十一種內部對象
Boolean對象
Boolean對象是一種數據類型,提供構造函數可以創建布爾數據類型的對象
objboolean=new Boolean();
Funcation對象
JavaScript函數就是一個funcation對象,Funcation對象是函數,如果函數有參數,這些傳入的參數都是argument對象
Global對象
Global對象不能使用new來創建,在腳本語言初始化時會自動創建此對象。
Number對象
Number對象,用於創建數值類型的變數
Object對象
使用Object對象創建自定義對象
RegExp對象
JavaScript的正則表達式對象
5-2JavaScript的string對象
-
創建string對象
var obj="javascript";或var obj2=new string("JavaScript");兩種方式
string對象提供了一系列的格式編排方法
String 對象方法
方法 描述
anchor() 創建 HTML 錨。
big() 用大號字體顯示字元串。
blink() 顯示閃動字元串。
bold() 使用粗體顯示字元串。
fixed() 以打字機文本顯示字元串。返回<tt>string</tt>中內容
fontcolor() 使用指定的顏色來顯示字元串。
fontsize() 使用指定的尺寸來顯示字元串。
fromCharCode() 從字元編碼創建一個字元串。
link() 將字元串顯示為鏈接。
italics() 使用斜體顯示字元串。
localeCompare() 用本地特定的順序來比較兩個字元串。
slice() 提取字元串的片斷,併在新的字元串中返回被提取的部分。
small() 使用小字型大小來顯示字元串。
strike() 使用刪除線來顯示字元串。
sub() 把字元串顯示為下標。
sup() 把字元串顯示為上標。
toSource() 代表對象的源代碼。
toString() 返回字元串。
valueOf() 返回某個字元串對象的原始值。
<script type ="text/javascript"> var obj = "JavaScript程式設計"; document.write("anchor():" + obj.anchor() + "<br/>"); document.write("big():" + obj.big() + "<br/>"); document.write("blink():" + obj.blink() + "<br/>"); document.write("bold():" + obj.bold() + "<br/>"); document.write("fixed():" + obj.fixed() + "<br/>"); document.write("fontcolor(red):" + obj.fontcolor("red") + "<br/>"); document.write("fontsize(6):" + obj.fontsize(6) + "<br/>"); document.write("italics()" + obj.italics() + "<br/>"); document.write("link()" + obj.link("https://home.cnblogs.com/u/cyjy/") + "<br/>"); document.write("small()" + obj.small() + "<br/>"); document.write("strike():" + obj.strike() + "<br/>"); document.write("sub():" + obj.sub() + "<br/>"); document.write("sup():" + obj.sup() + "<br/>"); </script>
-
字元串的長度與大小寫
length屬性是用於獲取字元串的長度
toLocaleLowerCase() 把字元串轉換為小寫。
toLocaleUpperCase() 把字元串轉換為大寫。
toLowerCase() 把字元串轉換為小寫。
toUpperCase() 把字元串轉換為大寫。
<script type ="text/javascript"> var obj = "JavaScript"; var obj2 = new String("程式設計"); document.write("英文測試字元串:" + obj + "<br/>"); document.write("中文測試字元串:" + obj2 + "<br/>"); document.write("英文測試字元串length:" + obj.length + "<br/>"); document.write("中文測試字元串length:" + obj2.length+ "<br/>"); document.write("英文測試字元串小寫:" + obj.toLowerCase() + "<br/>"); document.write("英文測試字元串大寫:" + obj.toUpperCase() + "<br/>"); </script>
-
獲取字元串的指定字元
charAt(index) 返回在指定位置的字元。
charCodeAt(index) 返回在指定的位置的字元的 Unicode 編碼。
<script type ="text/javascript"> var obj = "JavaScript"; var obj2 = new String("程式設計"); document.write("英文測試字元串:" + obj + "<br/>"); document.write("中文測試字元串:" + obj2 + "<br/>"); document.write("英文測試字元串.charAt(4):" + obj.charAt(4) + "<br/>"); document.write("英文測試字元串charCodeAt(4):" + obj.charCodeAt(4) + "<br/>"); </script>
-
子字元串的搜索
indexOf(string,index) 檢索字元串。返回第一次找到字元串的索引位置,沒有找到返回-1,傳入的string是要搜索的參數,index為要搜索的索引位置
lastIndexOf(string) 從後向前搜索字元串。
match(string) 找到一個或多個正則表達式的匹配。沒有找到返回null
search(string) 檢索與正則表達式相匹配的值。
<script type ="text/javascript"> var obj = "JavaScript"; var obj2 = new String("程式設計"); document.write("英文測試字元串indexOf('a'):" + obj.indexOf('a') + "<br/>"); document.write("英文測試字元串indexOf('a',2):" + obj.indexOf('a',2) + "<br/>"); document.write("中文測試字元串.indexOf('程式'):" + obj2.indexOf('程式') + "<br/>"); document.write("英文測試字元串.lastIndexOf('a') :" + obj.lastIndexOf('a') + "<br/>"); document.write("英文測試字元串.match('Java'):" + obj.match('Java') + "<br/>"); document.write("中文測試字元串.match('程式'):" + obj2.match('程式') + "<br/>"); document.write("英文測試字元串.search('Java'):" + obj.search('Java') + "<br/>"); document.write("中文測試字元串.search('學校'):" + obj2.search('學校') + "<br/>"); </script>
-
子字元串的處理
replace(string1,string2) 替換與正則表達式匹配的子串。將string1換成string2
split() 把字元串分割為字元串數組。返回數組對象。
substr(index,length) 從起始索引號提取字元串中指定數目的字元。從index開始取出length個字元串
substring(index1,index2) 提取字元串中兩個指定的索引號之間的字元。
concat(string) 連接字元串。將string字元串添加到string對象的字元串之後.
<script type ="text/javascript"> var obj = "JavaScript"; var obj2 = new String("程式設計"); document.write("英文測試字元串:" + obj + "<br/>"); document.write("中文測試字元串:" + obj2 + "<br/>"); document.write("英文測試字元串.replace('Script', '')" + obj.replace('Script', '') + "<br/>"); document.write("中文測試字元串.split('序')" + obj2.split('序') + "<br/>"); document.write("英文測試字元串.substr(2,4)" + obj.substr(2, 4) + "<br/>"); document.write("英文測試字元串obj2.substring(2,5)" + obj2.substring(2, 5) + "<br/>"); </script>
將12/5/2012變為2012-5-12;
var obj = "12/5/2012";var obj = obj.replace(/\//g,"-");
var obj2=obj.replace(/(\d{2})-(\d{1}|\d{2})-(\d{4})/g,'$3-$2-$1');
alert(obj2);
-
JavaScript的Array對象
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
<script type ="text/javascript"> var arr = new Array(1,2,3,4); var arr2 = new Array(3); arr2[0] = "one"; arr2[1] = "two"; arr2[2] = "three"; //用迴圈顯示數組值 for (var i = 0; i <=arr.length; i++) { document.write(arr[i] + "<br/>"); } for (var i = 0; i <3; i++) { document.write(arr2[i] + "<br/>"); } </script>
Array對象的屬性與方法
length屬性獲取數組長度
方法 描述
concat(arry) 連接兩個或更多的數組,並返回結果。將參數合併到當前的數組中
join() 把數組的所有元素放入一個字元串。元素通過指定的分隔符進行分隔。
pop() 刪除並返回數組的最後一個元素
push() 向數組的末尾添加一個或更多元素,並返回新的長度。
shift() 刪除並返回數組的第一個元素
slice() 從某個已有的數組返回選定的元素
splice() 刪除元素,並向數組添加新元素。
toSource() 返回該對象的源代碼。
toString() 把數組轉換為字元串,並返回結果。
reverse() 顛倒數組中元素的順序。
sort(arry)將數組的所有元素排序
<script type ="text/javascript"> var arr = new Array(1,2,3,4); var arr2 = new Array(3); arr2[0] = "one"; arr2[1] = "two"; arr2[2] = "three"; function showarr(arr) { for (var i = 0; i < arr.length; i++) { document.write(arr[i] + ","); } } document.write("數組長" + arr2.length + "<br/>"); document.write(arr2.join() + "<br/>"); arr2.reverse();//反轉數組 document.write("<br/>"); showarr(arr); document.write("<br/>"); arr = arr.concat(arr2);//連接兩個數組 showarr(arr); </script>
JavaScript的多維數組
<script type ="text/javascript"> var arr = new Array(3); for (var i = 0; i < 3; i++) { arr[i] = new Array(2); } arr[0][0] = "1"; arr[0][1] = "2"; arr[1][0] = "3"; arr[1][1] = "4"; arr[2][0] = "5"; arr[2][1] = "6"; for (var j= 0; j< arr.length;j++) { for (i = 0; i < arr[i].length; i++) { document.write(arr[j][i]); } document.write("<br/>"); } </script>
-
JavaScript的Date對象
Date對象可以獲取電腦的系統時間和日期,並且提供相關的方法將它轉化為所需的日期數據。
創建Date對象
var youDate=new Date()
Date 對象會自動把當前日期和時間保存為其初始值。
Date() 返回當日的日期和時間。
getDate() 從 Date 對象返回一個月中的某一天 (1 ~ 31)。
getDay() 從 Date 對象返回一周中的某一天 (0 ~ 6),也就是星期日到星期六。
getMonth() 從 Date 對象返回月份 (0 ~ 11)。
getFullYear() 從 Date 對象以四位數字返回年份。
getYear() 請使用 getFullYear() 方法代替。
getHours() 返回 Date 對象的小時 (0 ~ 23)。
getMinutes() 返回 Date 對象的分鐘 (0 ~ 59)。
getSeconds() 返回 Date 對象的秒數 (0 ~ 59)。
getMilliseconds() 返回 Date 對象的毫秒(0 ~ 999)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒數。
<script type ="text/javascript"> var youDate = new Date(); document.write("系統日期:" + youDate.getDate()); document.write("<br/>"); document.write("系統時間:" + youDate.getHours() + ":" + youDate.getMinutes()+":"+youDate.getSeconds()); </script>
設置時間和日期
setDate() 設置 Date 對象中月的某一天 (1 ~ 31)。
setMonth() 設置 Date 對象中月份 (0 ~ 11)。
setFullYear() 設置 Date 對象中的年份(四位數字)。
setYear() 請使用 setFullYear() 方法代替。
setHours() 設置 Date 對象中的小時 (0 ~ 23)。
setMinutes() 設置 Date 對象中的分鐘 (0 ~ 59)。
setSeconds() 設置 Date 對象中的秒鐘 (0 ~ 59)。
setMilliseconds() 設置 Date 對象中的毫秒 (0 ~ 999)。
setTime() 以毫秒設置 Date 對象。
JavaScript的Date對象可以獲取系統時間,只需定時執行JavaScript函數就可以建立一個網頁時鐘,同時需要使用setTimeout(),參數中可以設置間隔多少時間來執行函數,clearTimeout()可以清除定時器
-
JavaScript的Math對象
Math對象不同於其他JavaScript對象,Math對象是由腳本語言引擎所創建的,不需要使用new來創建。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次冪。
random() 返回 0 ~ 1 之間的隨機數。
需要獲得更大的隨機數乘以相關的倍數就可以了
<script type ="text/javascript"> var num = Math.round(Math.random() * 100); document.write("0~100之間的隨機數"+num); </script>
JavaScript的Error對象
try catch finally處理例外。
JavaScript對象的共用屬性和方法
屬性 constructor屬性可以獲取創建對象使用的構造函數的函數名稱
tostring()方法和value()可以顯示對象的內容。