認(rèn)真!看清哪個函數(shù)哪個參數(shù)是否帶引號!不要忘了寫分號!
概覽
- css
選擇器
布局 - JavaScript
語法
對象和API
BOM 瀏覽器對象模型
DOM 文檔對象模式
1、css和HTML的四種結(jié)合方式
- 第一種是最基本的,直接在html標(biāo)簽中用style定義。
- 在head標(biāo)簽中定義一個style標(biāo)簽,在style中寫div{。。。}
- 引入外部文件:@import url(“ ”)-->升級版:將所有外部css路徑放入新的css文件中(稱為管理文件),在html中引用該新的外部文件;好處:以后再添加css直接加在管理css文件中就可。
- link。。。
屬性必須寫到style內(nèi)部,因?yàn)閟tyle是css的解析器,放其他地方無法解析。
2、css優(yōu)先級和規(guī)范
3、CSS選擇器
基本選擇器+擴(kuò)展選擇器
- 基本選擇器
- 標(biāo)簽名選擇器
div{ } 、span{ } - 類選擇器---標(biāo)簽中的class屬性名稱自己可以隨意定義。
.class的名稱 - ID選擇器
格式:#id名稱---功能與類選擇器類似,一般給js語言使用。
- 標(biāo)簽名選擇器
ps:①標(biāo)簽名選擇器可和類選擇器搭配著用,如 div 。 haha{ }----僅div標(biāo)簽中的haha class起作用;
。haha h1{ } ---haha class下的h1標(biāo)簽起作用。
②優(yōu)先級:標(biāo)簽名選擇器<類選擇器<ID選擇器<style屬性
-
擴(kuò)展選擇器
偽元素選擇器:最基本的動態(tài)效果
-
關(guān)聯(lián)選擇器
div font{ } div標(biāo)簽下的font起作用。
- 組合選擇器
如: #haha,.hehe{ } 中間用逗號分隔,兩者效果相同,相當(dāng)于#haha{ } + .hehe{ } - 偽元素選擇器
用于實(shí)現(xiàn)一些最基本的動態(tài)效果,html中已定義好,可以直接用。如- 輸入偽元素選擇器-input:FOCUS{ background-color:red}//當(dāng)把光標(biāo)點(diǎn)到該輸入框時,輸入框北京會變?yōu)榧t色。
- 超鏈接偽元素選擇器 a,使用順序:LVHA-link、visited、hover、active
a:link{text-decoration:noe;//無下劃線 color:blue;}
a:hover{ color:red;font-size:25px;}鼠標(biāo)懸停時變紅且字體變?yōu)?5px。
具體樣式可以自己設(shè)置。
4、css的布局:即用css+div進(jìn)行布局
div是塊級元素,每個div后都會跟一個換行;span則不會,多個span會在一個行。如:
- 可以在id中定義float:left、right,表示某個div會浮動在左側(cè)或右側(cè)。
如div1為float:left,則:
①div2會被漂浮的div1覆蓋
②僅當(dāng)div為float時,其中的文字才會跟著一起浮動,若是因其他div的浮動產(chǎn)生補(bǔ)位,文字會在原位置不動。
③若三個均為float:left,則會在第一排按順序出現(xiàn)。 - 可給div指定絕對位置
JavaScript
1、JavaScript概述
弱類型:在內(nèi)存中聲明了一種類型后,還可以存放其它類型,如int a=10;a=“ss”;即弱類型。
JavaScript的組成:
ECAMScript 標(biāo)準(zhǔn)(js的語法,函數(shù),變量)
BOM
DOM
2、js和HTML結(jié)合的兩種方式
- script標(biāo)簽,可以放在任意位置。
<script type="text/javascript">...<script> - 引入外部js文件的方式。
<script src="引入的js文件" type="text/javascript"></script>
ps:<script>標(biāo)簽可以放在任意位置,推薦放在body后。因有可能js文件中會引用其他標(biāo)簽的內(nèi)容,當(dāng)被引用的內(nèi)容在<script>之后時可能會出錯。
3、js語法
(1)
- 關(guān)鍵字---var 聲明變量
- 標(biāo)示符---和java一樣
- 注釋--和java一樣
- 變量---- 聲明變量,只使用一個關(guān)鍵字 var num = 12; var str = "abc";
- 5種基本數(shù)據(jù)類型
- Undefined、Null、Boolean、Number 和 String
- String 字符串類型
- js中雙引號和單引號都代表的是字符串
- Number 數(shù)字類型- 【不區(qū)分整數(shù)和小數(shù)】
- Boolean 布爾類型
- Null 空,給引用賦值的
- Undefined 未定義(聲明變量,沒有賦值)
- typeof() 判斷當(dāng)前變量是什么類型的數(shù)據(jù)
(2)運(yùn)算符
- 算術(shù)運(yùn)算符
- 0或者null是false,非0或者非null是true,默認(rèn)用1表示。true和false可參加運(yùn)算。
var num = 3710;
alert(num/1000*1000);=3710 不區(qū)分整數(shù)和小數(shù)
- 0或者null是false,非0或者非null是true,默認(rèn)用1表示。true和false可參加運(yùn)算。
- 賦值運(yùn)算符: 和java是一樣的
- 比較運(yùn)算符
== 比較值是否相同
=== 比較值和類型是否相同 - 邏輯運(yùn)算符-- 和java中一樣
- 三元運(yùn)算符-----條件?值1:值2
(3)語句
if、else、for等與Java中一樣
可以向葉面輸出文本內(nèi)容:document.write(“文本內(nèi)容”);文本內(nèi)容可以使html代碼(也要放在引號內(nèi))。每向頁面輸出一個i=*就換一次行:
(4) js數(shù)組
- js的數(shù)組:區(qū)別于java中: java String [] str = {};
(5) js函數(shù)+變量
function 方法名稱(參數(shù)列表) {
方法體;
return;
}
參數(shù)列表:不能使用var關(guān)鍵字
返回值:可寫可不寫的,如果有寫返回值,如果沒有,返回值可以省略不寫。-
動態(tài)函數(shù)和匿名函數(shù)
-
動態(tài)函數(shù)
Function (“參數(shù)列表”,“方法體”);如: -
匿名函數(shù)
function(參數(shù)){ };分號!!既沒有函數(shù)名
-
動態(tài)函數(shù)
全局變量、局部變量
全局:在<script>標(biāo)簽內(nèi)部定義的變量。
局部:在函數(shù)的內(nèi)部定義的變量,不管是在函數(shù)參數(shù)列表還是方法體中定義的。ps:即便該函數(shù)在<script>中,也是局部變量。
4、js中的對象
String、Date、Math、Array、正則表達(dá)式等對象
參考地址:http://www.runoob.com/jsref/jsref-tutorial.html
-
String對象
所有方法調(diào)用時不要忘記用對象來調(diào)用!!!
和java中String對象類似的:
和HTML相關(guān)的方法(書寫沒有提示的):
-
Array對象
聲明數(shù)組的兩種方式
var arr = [12,33];
var arr = new Array(4,4);
ps:concat連接的可以使數(shù)組和數(shù)組,也可以使數(shù)組和元素。
Date日期對象----僅列舉部分方法,詳細(xì)定義或方法可去文檔查看。
var date = new Date(); 當(dāng)前的日期
toLocaleString() 轉(zhuǎn)換本地的日期格式
toLocaleDateString() 只包含日期
toLocaleTimeString() 只包含時間
getDate() 返回一個月中的某一天(1-31)
getDay() 返回一周中的某一天(0-6)
getMonth() 返回月份(0-11) +1
getFullYear() 返回年份
getTime() 返回毫秒數(shù)
setTime() 通過毫秒數(shù)獲取日期
parse(str) 解析字符串,返回毫秒數(shù)---靜態(tài)方法!
Date.parse(str);
str:
2014-11-14 解析不了
11/14/2014 可以解析
2014,11,14 可以解析-
Math對象(靜態(tài)的方法)--Math.round(x)
- ceil(x) 上舍入
- floor(x) 下舍入
- round(x) 四舍五入
- random() 0-1的隨機(jī)數(shù)
RegExp對象
應(yīng)用:編寫注冊的表單,對表單輸入的內(nèi)容進(jìn)行校驗(yàn)。
var reg = new RegExp("表達(dá)式");(開發(fā)中不經(jīng)常使用)
var reg = /表達(dá)式/ 開發(fā)中經(jīng)常使用
** var reg = /^表達(dá)式$/ 開發(fā)中經(jīng)常使用。/^表示開始,$/結(jié)束**
** 校驗(yàn):**
exec(string) 不經(jīng)常使用
如果匹配,返回匹配的結(jié)果
** test(string) 經(jīng)常使用**
如果匹配,返回是true,如果不匹配,返回是false
if(reg.test("abc")){
// 匹配上了
}else{
}-
全局函數(shù)
使用全局函數(shù),不需要任何的對象。
全局函數(shù)可以拿過來使用。
global幫著管理全局函數(shù)。- eval() 可以解析字符串,執(zhí)行字符串中間的js代碼,如
<script type="text/javascript"> var str = "alert('哈哈')"; eval(str);</script>
注意,哈哈是用單引號括起來的。 - isNaN() 判斷是否是非數(shù)字值
- parseInt() 解析字符串,返回整數(shù)
- encodeURI() 進(jìn)行編碼--針對中文
- decodeURI() 解析解碼
- encodeURIComponent()
- decodeURIComponent()
- escape()
- unescape()
- eval() 可以解析字符串,執(zhí)行字符串中間的js代碼,如
5、BOM對象--瀏覽器對象模型,每個對象都有自己的方法、屬性。
Window-Navigator-Screen-History-Location
-
事件:onclick,點(diǎn)擊事件,可以加在某個按鈕上,按鈕被點(diǎn)擊時調(diào)用該方法。
-
Window 窗口對象(重要):屬性和方法
* alert() 彈出提示框
* confirm("參數(shù)") 詢問框
* 提供倆按鈕,確定和取消
* 如果點(diǎn)擊是確定,返回true,如果點(diǎn)擊取消,返回false* moveBy() 移動瀏覽器 * setInterval("函數(shù)",毫秒值) 定時相關(guān)的 * 每隔毫秒值執(zhí)行一次函數(shù) * 返回唯一的id值 * setTimeout("函數(shù)",毫秒值) * 到了毫秒值后執(zhí)行一次函數(shù) * 返回唯一的id值 * 清除定時 clearInterval(id的值) clearTimeout() * close() 關(guān)閉瀏覽器的窗口,用window(表示當(dāng)前窗口)調(diào)用 * open() 打開瀏覽器窗口 * 屬性: * opener 返回對創(chuàng)建此窗口的窗口的引用,即返回源窗口。 * win open() 彈出baidu的窗口 在baidu窗口中 baidu.opener 得到了win的引用。
-
document屬性:
document.getElementById("nameId"); 獲取到是input標(biāo)簽的對象,然后我們可以通過該對象給該標(biāo)簽做重新賦值等操作:
-
-
Navigator 和瀏覽器版本相關(guān)的對象(**)
- userAgent 獲取瀏覽器的相關(guān)的信息
- window.navigator.userAgent window可以省略不寫
Screen: 和屏幕相關(guān)的對象(-*)
-
History 和瀏覽器歷史相關(guān)
back()返回上一個頁面
forward()去下一個頁面- 可以用go(代替)
- history.go(1) 等于forward
- history.go(-1) 等于forward
- 可以用go(代替)
Location 和瀏覽器地址相關(guān)的對象,調(diào)用時用小寫調(diào)用,location,以上幾個對象也是。
href屬性:獲取和設(shè)置瀏覽器的路徑,也可以自己賦值為其他地址,然后點(diǎn)擊某按鈕時會調(diào)用方法,跳到其他網(wǎng)址。
<body><input type="button" value="1號" onclick="run()"/></body><script type="text/javascript"> function run () { alert(location.href="http://www.baidu.com"); }</script></html>案例:圖片移動
onload=“方法” ,作用在<body>標(biāo)簽中,可以在一打開頁面時就調(diào)用onload的方法。