1. 程式人生 > >JavaScript(2)

JavaScript(2)

對話 decode 替換 一個 css 比較 hello 由於 window

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裏面操作的) 最重要的

方法:

  1. window.alert() 簡寫成alert() 頁面彈出一個框,顯示內容
  2. 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)