Day 3
一、 js的String對象
1. 建立String對象
var str = "abc"
2. 方法和屬性
A.屬性
length:字元串的長度
對象名.屬性;
B.方法
對象名.方法();
與html相關的方法(設定資料樣式的方法)
str.bold():使用粗體顯示字元串
str.fontcolor("color"):使用指定的顔色來顯示字元串。
str.fontsize(size):使用指定的尺寸來顯示字元串。
str.link(url): 将字元串顯示為連結。
str.sub():把字元串顯示為下标。
str.sup():把字元串顯示為上标。
與java相似的方法
str.concat(str1,str2,...,strn):連接配接字元串
str.charAt(index):傳回在指定位置的字元。
str.indexOf(searchvalue,fromindex):檢索字元串。
--indexOf() 方法對大小寫敏感!
--如果要檢索的字元串值沒有出現,則該方法傳回 -1。
str.split(separator,howmany):把字元串分割為字元串數組。
str.replace(regexp,replacement):替換與正規表達式比對的子串。
--如果 regexp 具有全局标志 g,那麼 replace() 方法将替換所有比對的子串。否則,它隻替換第一個比對子串。
str.substr(start,length):從起始索引号提取字元串中指定數目的字元。
str.substring(start,stop): 提取字元串中兩個指定的索引号之間的字元。
二、 js的Array對象
1. 建立Array對象(三種方法)
A. var arr = [1,2,3];
B. var arr = new Array(3);
C. var arr = new Array(1,2,3);
2. 屬性和方法
A. 屬性
length:數組的長度
B. 方法
arr.concat(arr1,arr2,......,arrn):連接配接兩個或更多的數組,并傳回結果。
arr.join(separator):把數組的所有元素放入一個字元串。元素通過指定的分隔符進行分隔。
arr.push(newelement1,newelement2,....,newelementX):向數組的末尾添加一個或更多元素,并傳回新的長度。
--如果添加的是一個數組,這個時候把數組當做一個整體字元串添加進去
arr.pop():删除并傳回數組的最後一個元素
arr.reverse():颠倒數組中元素的順序
三、 js的Date對象
1. 建立Date對象
vardate = new Date();
2. 屬性和方法
A. 屬性
B. 方法
date.toLocaleString():根據本地時間格式,把 Date 對象轉換為字元串。
date.getFullYear():從 Date 對象以四位數字傳回年份
date.getMonth():從 Date 對象傳回月份 (0 ~ 11)
--如果想要得到準确的值,需要加1
date.getDay():從 Date 對象傳回一周中的某一天 (0 ~ 6)
--星期日傳回的是0,星期一到星期六傳回的是1~6
date.getDate():從 Date 對象傳回一個月中的某一天 (1 ~ 31)
date.getHours():傳回 Date 對象的小時 (0 ~ 23)
date.getMinutes():傳回 Date 對象的分鐘 (0 ~ 59)
date.getSeconds():傳回 Date 對象的秒數 (0 ~ 59))
date.getTime(): 傳回 1970 年 1 月 1 日至今的毫秒數
--應用場景:使用毫秒數處理緩存的效果(不有緩存)
四、 js的Math對象(數學運算)
1. 裡面都是靜态方法,可以直接使用Math.方法()
Math 對象并不像 Date 和String 那樣是對象的類,是以沒有構造函數 Math(),像 Math.sin() 這樣的函數隻是函數,不是某個對象的方法。
2. 屬性和方法
A. 屬性
B. 方法
Math.ceil(x): 對一個數進行上舍入。
Math.floor(x):對一個數進行下舍入。
Math.round(x):把一個數四舍五入為最接近的整數
Math.random():傳回 0 ~ 1之間的随機數
五、 js的全局函數
1. 由于不屬于任何一個對象,直接寫名稱使用
2. 屬性和方法
A. 屬性
B. 方法
eval(string):計算JavaScript 字元串,并把它作為腳本代碼來執行。
--該方法隻接受原始字元串作為參數,如果 string 參數不是原始字元串,那麼該方法将不作任何改變地傳回。是以請不要為 eval() 函數傳遞 String 對象來作為參數。
encodeURI(URIstring):對字元進行編碼,不編碼字元有82個
encodeURIComponent(URIstring):對字元進行編碼,不編碼字元有71個
decodeURI(URIstring):對字元進行解碼
decodeURIComponent(URIstring):對字元進行解碼
isNaN(x): 檢查某個值是否是數字。
--如果 x 不是數字,則傳回true
--如果 x 是數字,則傳回 false。
parseInt(string,radix) :類型轉換,将字元串轉換為整數。
六、 js函數的重載
1. 重載:方法名相同,參數不同
2. js是否存在重載?
A. js裡面不存在重載,調用最後一個方法。把傳遞的參數儲存到arguments數組裡面
B. 但是可以通過其他方式模拟重載。
七、 js的BOM(browser object model)對象
1. navigator對象(了解)
擷取客戶機的資訊(浏覽器的資訊)
navigator.appName:傳回浏覽器的名稱
2. screen對象(了解)
擷取螢幕的資訊
screen.width:螢幕的寬
screen.weight:螢幕的高
3. location對象(了解)
請求的URL位址
location.href:擷取請求的URL位址
location.href="需要跳轉到的位址" target="_blank" rel="external nofollow" :設定URL位址
需求
滑鼠點選事件:在頁面上安置一個按鈕,按鈕上綁定一個事件,當點選這個按鈕時,頁面可以跳轉到另一個頁面
普通按鈕:<input type="botton" value="普通按鈕" οnclick="js方法名()"/> --和js一起使用(表示點選按鈕,調用js方法)
4. history對象(了解)
請求的URL的曆史記錄
需求
模拟URL曆史記錄:建立三個頁面
--建立第一個頁面a.html,寫一個超連結到b.html
--建立b.html超連結到c.html
--建立c.html
history.back():加載history 清單中的前一個 URL
history.forward():加載history 清單中的下一個 URL
history.go(n): 加載 history 清單中的某個具體頁面
--n=1,到下一個URL
--n=-1,到前一個URL
5. window對象(重點)
上面所講的navigator、screen、location、history對象其實都是屬于window對象裡面的屬性,即應該這樣調用:window. navigator. appName,但是一般都省略了window,直接寫成了navigator. appName。
視窗對象
頂層對象(所有的BOM對象都是在window裡面操作的)
方法:
window.alert(message):頁面彈出一個框,顯示内容
--簡寫alert()
window.confirm(message): 顯示帶有一段消息以及确認按鈕和取消按鈕的對話框。
--如果點選确定按鈕,則 confirm() 傳回 true
--如果點選取消按鈕,則 confirm() 傳回 false
window.prompt(text,defaultText):輸入對話框。
--text:要在對話框中顯示的純文字
-- defaultText:預設的輸入文本
window.open(URL,name,features,replace): 打開一個新的視窗
-- URL:打開的新視窗的位址url
--name:一般為空
--features:視窗特征,比如說視窗的寬度和高度
window.close():關閉浏覽器視窗(浏覽器相容性比較差)
設定定時器(timeout)
window.setInterval("js代碼",毫秒數): 按照指定的周期(以毫秒計)來調用函數或計算表達式。
//每3秒,執行一次alert方法
window.setInterval("alert('123')",3000);
window.setTimeout("js代碼",毫秒數):在指定的毫秒數後調用函數或計算表達式,但是隻會執行一次
//3秒後,執行一次alert方法,然後不再執行
window.setInterval("alert('123')",3000);
清除定時器(timeout)
window.clearInterval(id_of_setinterval):取消由setInterval() 設定的定時器
window.clearTimeout(id_of_settimeout):取消由setTimeout()方法設定的定時器
八、 js的DOM(document object model)對象
文檔:超文本文檔(标記型文檔) html、xml
對象:屬性、方法
模型:使用屬性和方法操作超文本标記文檔
可以使用js裡面的dom提供的對象,使用這些對象的屬性和方法,對超文本标記文檔進行操作
要對标記型文檔進行操作,首先需要對标記型文檔裡面的所有内容(html裡面的标簽、屬性、文本等)封裝成對象(document對象、element對象、屬性對象、文本對象、Note節點對象),使用dom解析标記型文檔
document對象:整個html文檔
element對象:标簽對象
屬性對象
文本對象
Note節點對象:上述對象的父對象
樹形結構:有且隻有一個根節點,在根節點下面可以有多個子節點,沒有子節點的節點為葉子節點
DHML:很多技術的簡稱
--html:封裝資料
--css:使用屬性和屬性值設定樣式
--dom:操作html文檔(标記型文檔)
--js:專門指的是js的文法語句(ECMAScript)
1. document對象:整個html封裝成的文檔
方法
document.write(exp1,exp2,exp3,....):向文檔寫HTML表達式或 JavaScript 代碼。
document.getElementById(id):通過标簽的id屬性值,傳回元素(标簽)對象
document.getElementsByName(name): 通過标簽的name屬性值,傳回元素(标簽)數組對象
document.getElementsByTagName(tagname) :通過标簽,傳回帶有指定标簽名的對象集合
屬性
opener: 傳回對建立此視窗的視窗的引用。
window彈窗案例
做這個案例的時候會有一個問題,由于現在通路的是本地檔案,js安全性,谷歌浏覽器安全級别很高,不允許通路本地檔案。在實際開發中,沒有這樣的問題,實際中不可能通路本地的檔案。
2. element對象:标簽對象屬性對象
文本對象
Note節點對象:上述對象的父對象
剩下的這些對象在Day4裡面講
更多AI資源請關注公衆号:大胡子的AI
歡迎各位AI愛好者加入群聊交流學習:882345565(内有大量免費資源哦!)