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 = 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()可以顯示對象的內容。
