JavaScript(2)
String、Array、Date、Math(前面4個只要能看文檔寫出來就可以)、全局函數、重載、bom、dom、document對象
1、js的String對象
創建String對象 var str =“abc”;
方法和屬性
屬性 length:字符串的長度
常用方法
(1) 與html相關的方法
bold():加粗 比如str.bold()
fontcolor():設置字符串的顏色 比如str.fontcolor(“red”)
fontsize():設置字符串的大小 比如str.fontsize(1) 範圍1-7
link():將字符串顯示為超鏈接 比如str.link(“超鏈接的地址”)
sub():下標 sup():上標
(2) 與java相似的方法
concat():連接字符串 比如str.concat(str2)
charAt():返回指定位置的字符串 比如str.charAt(索引位置) 如果字符不存在,返回空字符串
indexOf():返回字符串的位置 比如var str =“abc” str.indexOf(“a”) 如果沒有就返回-1
split():切割字符串變成數組
replace():替換字符串 比如str.replace(“原來的值”,“替換後的值”)
substr(): 比如str.sub(a,b)從第a位開始,向後截取b個字符
substring() 比如str.sunstring(c,d) 【c,d)
2、js的Array對象
創建數組 var arr=[a,b,c.. ];/ var arr = new Array{a,b,c..}; /var arr = new Array{3}; 數組長度為3
屬性:length 數組的長度
方法 concat():數組的連接
join():使用指定的字符分割數組 比如str.join(“/”)
push():向數組的末尾添加元素,並返回數組的新長度 如果添加的是數組,那麽就會把數組當成一個整體添加進去。
pop():刪除最後一個元素,並返回被刪除的那個元素
reverse():顛倒數組中的元素的順序
3、js的Date對象
toLocaleString:把日期格式化,轉換成當前格式
如var date = new Date();
date.toLocaleString()
getFullYear():得到當前的年
getMonth():得到當前的月(0-11) 所以後面要+1
getDay():返回這周的天(0-6) 星期天為0
getDay():返回當前的天
getHours():得到當前的小時
getMinutes():得到當前的分鐘
getSeconds():得到當前的秒
getTime():1970年1月1日到至今的毫秒數 運用場景:使用毫秒數來處理緩存的效果
4、js的Math對象 裏面都是靜態方法,調用為Math.方法
ceil(x):向上舍入 Math.ceil()
floor(x):向下舍入
round(x):四舍五入
random():返回0-1的隨機數
5、js的全局函數 由於不屬於任何一個對象,直接寫名稱使用
eval():執行js代碼
encodeURI():對字符進行編碼
decodeURI():對字符進行解碼
encodeURIComponent():對字符進行編碼
decodeURIComponent():對字符進行解碼 涵蓋範圍比較多
isNaN():判斷當前字符串是否是數字 返回true和false 是數字返回false,不是數字返回true
parseInt():類型轉換
6、函數的重載 方法名相同,參數不同
js裏面是否存在重載(面試題)
(1) js裏面不存在重載
(2) 但是可以通過其他方式來模擬重載的效果 aruguments數組模擬
7、js的bom對象
bom:broswer object model 瀏覽器對象模型
有哪些對象
(1)navigator:獲取客戶機的信息(瀏覽器的信息)
格式:navigator.appName 這個是直接獲取瀏覽器的名稱
document.write(navigator.appName);
(2)screen:獲取屏幕的信息
直接輸出 document.writr(screen.width); 獲取屏幕的寬度
(3)location :請求url地址
href屬性
a.獲取到請求的url地址 document.write(location.href);
b.設置url地址
頁面上設置一個按鈕,按鈕上綁定一個事件,當點擊這個按鈕,頁面可以跳轉到另外一個界面
代碼:<input type = “button” value =“跳轉” onclick =“href1();”/>
function href1() {
location.href=“hello.html”;
}
onclick =“js的方法;” 鼠標點擊事件
(4)history:請求的url的歷史記錄
history.go(-1); 到上個頁面
history.go(1); 到下個頁面
(5) window 窗口對象、頂層對象 (所以的bom對象都是在window裏面操作的) 最重要的
方法:
- window.alert() 簡寫成alert() 頁面彈出一個框,顯示內容
- confirm() 確認提示框
如var flag =window.confirm(“顯示的內容”);
3.prompt():輸入的對話框 很少用了
window.prompt(“要顯示的內容”,“輸入的默認值”);
4.open():表示可以打開一個新的窗口
open(“打開的新窗口的的資質”,“”,“窗口特征,比如寬度和高度”);
5.close():關閉窗口(瀏覽器兼容性比較差)
做定時器
f.setInterval(“js代碼”,毫秒數) 1秒=1000毫秒
如 window.setInterval(“alert(‘123’);”,3000); 每3秒彈出123
g.setTimeout(“js代碼”,毫秒數) 表示是在毫秒數之後執行,但是只會執行一次
如 window.setInterval(“alert(‘123’);”,3000);
h.clearInterval(id值):清除setInterval()
如 var id = window.setInterval(“alert(‘123’);”,3000);
clearInterval(id);
i.clearTimeout(id值):清除setTimeout()
如 var id2 = window.setInterval(“alert(‘123’);”,3000);
clearTimeout(id2);
8.js的dom對象
dom:document object model 文檔對象模型
可以使用js裏面的dom提供的對象的屬性和方法對超文本文檔進行操作
文檔:超文本文檔(超文本標記文檔):html、xml
對象:提供了屬性和方法
模型:使用屬性和方法操作超文本文檔
要想對標記型文檔進行操作,需要解析標記型文檔
根據html的層級結構,在內存中分配一個樹形結構,需要把html中的每部分(標簽、文本、屬性)封裝成對象。
document對象:整個文檔
element對象:標簽對象
屬性對象:
文本對象
Node節點對象:這個對象是所有對象的父對象
如果在其他對象找不到想要的方法,這個時候到Node對象裏面去找
DHTML:是很多技術的簡稱(html、css、dom、javascript(專門指的js的語法語句))
9、document對象 表示整個的文檔
<input type= “text” name =“name1” value =“aaaa”/> input是標簽 text和value 是元素 name1和aaaa是屬性值
常用方法
a.write() 向頁面輸出變量(值)/向頁面輸出html代碼
比如 var str =“abc” document.write(str);
b.getElementById(“id值”):通過id得到元素(標簽),需要返回值 一般這個用得最多,比較方便
c.getElementsByName():通過標簽的name的屬性值得到標簽,返回的是一個集合(數組)。 所以要遍歷數組得到每一個數組對象
d.getElementsByTagName(“標簽名稱”):通過標簽名稱得到元素,返回是一個數組。
註意: c和d由於返回的是一個數組,如果只有一個 ,那麽如果要獲取屬性值,可以不用遍歷,直接用數組下標獲取
如 var inputs = document.getElementsByName(“nameid”)[0];
opener:屬性,獲取創建當前窗口的窗
JavaScript(2)