1.導(dǎo)航制作
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>導(dǎo)航</title>
<style type="text/css">
{
margin:0;
padding:0;
}
.a{
width: 960px;
height: 40px;
background-color: #55a8ea;
margin: 100px auto;
}
.b a{
text-decoration: none;
font:14px '微軟雅黑';
color:#fff;
/display: block;*/
line-height: 40px;
width: 100px;
text-align: center;
float:left;
}
.b li{
list-style: none;
}
.b a:hover{
background-color: #00619f;
color:red;
}
.b img{
position: absolute;
top: 87px;
}
</style>
</head>
<body>
<div class='a'>
<ul class='b'>
<li><a href="#">首頁</a></li>
<li><a href="#">網(wǎng)站建設(shè)</a></li>
<li><a href="#">程序開發(fā)</a></li>
<li><a href="#">網(wǎng)絡(luò)營銷</a></li>
<li><a href="#"><img src="css3/img/new.png">企業(yè)VI</a></li>
<li><a href="#">案列展示</a></li>
<li><a href="#">聯(lián)系我們</a></li>
</ul>
</div>
</body>
</html>
運算符
1堰氓、javascript具有下列種類的運算符:算術(shù)運算符;等同運算符與全同運算符;比較運算符;
2、目的分類:字符串運算符;邏輯運算符;逐位運算符;賦值運算符;
3顽聂、特殊運算符:條件運算符;typeof運算符;創(chuàng)建對象運算符new;delete運算符;void運算符號;逗號運算符;
算術(shù)運算符:+ 、 – 、* 小压、 / 壤靶、 % 缚俏、 -(一元取反) 、 ++ 贮乳、 —
等同運算符與全同運算符:== 忧换、 ===、 !== 向拆、 !===
比較運算符:< 亚茬、 > 、 <= 浓恳、 >=
字符串運算符::< 才写、 > 、 <= 奖蔓、 >= 赞草、 = 、 +
邏輯運算符:&& 吆鹤、 ||厨疙、 !、
賦值運算符:=疑务、 +=沾凄、 *=梗醇、 -=、 /=
對字符串是不能進行乘法運算的,”a” * “b” 是不合法的,但是,在可能的情況下,javascript會把表達式轉(zhuǎn)換成正確的類型,因此,表達式 “3” * “5” 是合法的,javascript將字符串轉(zhuǎn)換成數(shù)字執(zhí)行運算,結(jié)果返回的是數(shù)字15,而不是字符串”15″撒蟀。
1.+ 根據(jù)運算數(shù)的不同,具有不同的表現(xiàn):
字符串 + 字符串 = 字符串(被連接);”a” + “b” = “ab” “5” + “6” = “56”
字符串 + 數(shù)字 = (字符串轉(zhuǎn)換成數(shù)字)字符串(被連接);”a” + 5 = “a5” 5被轉(zhuǎn)換成字符串 “1” + 0 = “10”
數(shù)字 + 數(shù)字 = 數(shù)字(相加)5 + 5 = 10叙谨。
2.注意運算符的結(jié)合性,有些運算符從左到右的結(jié)合性;有些從右到左結(jié)合性。
例如:w = a + b + c 等同于 w = (a + b) + c;
w = —b 等同于 w = – ( – ( -b ) ); w = a = b = c 等同于 w= ( a = ( b = c ))
一元運算符保屯、賦值運算符手负、三元運算符的結(jié)合性是從右到左的;
“/” 在javascript中,由于所有的數(shù)都是浮點數(shù),除法的結(jié)果都是浮點數(shù),5 / 2 = 2.5 ;除數(shù)為0的結(jié)果為正負無窮;0/0為NaN;
“-”一元取反:將運算數(shù)取反,如果運算數(shù)不是數(shù)字,則轉(zhuǎn)化成數(shù)字。
當兩個運算數(shù)的類型不同時:將他們轉(zhuǎn)換成相同的類型,
1)一個數(shù)字與一個字符串,字符串轉(zhuǎn)換成數(shù)字之后,進行比較姑尺。
2)true轉(zhuǎn)換為1竟终、false轉(zhuǎn)換為0,進行比較。
3)一個對象切蟋、數(shù)組统捶、函數(shù) 與 一個數(shù)字或字符串,對象、數(shù)組柄粹、函數(shù)轉(zhuǎn)換為原始類型的值,然后進行比較喘鸟。(先使用valueOf,如果不行就使用toString)
“?:”條件運算符是唯一的一個三元運算符;
變量和函數(shù)預(yù)j解析
處理執(zhí)行上下文代碼分為兩個階段:
進入執(zhí)行上下文
執(zhí)行代碼
進入執(zhí)行上下文:
進入執(zhí)行上下文,方法的變量對象(VO)就會被以下屬性填充
參數(shù)驻右,參數(shù)名就是VO中的名稱迷守。值就是實參的值。如果沒有傳遞旺入,則為undefined
函數(shù)聲明,如果VO中中已經(jīng)存在相同的屬性凯力,則替換它的值
變量聲明:通過var聲明的茵瘾。在VO中的值為undefined,如果VO中已經(jīng)含有相同的屬性咐鹤,則不會影響已經(jīng)存在的屬性拗秘。
var n = 1;
fn(n);
function fn() {
console.log(n);
var n = 2;
}
打印結(jié)果:
undefined
var n = 1;
fn(n);
function fn(n) {
console.log(n);
var n = 2;
}
打印結(jié)果:
1
var n = 1;
fn(n);
function fn(n) {
console.log(n);
function n() {
console.log(666);
}
var n = 2;
}
打印結(jié)果:
function n() {
console.log(666);
}
1,預(yù)解析的順序是從上到下祈惶,函數(shù)的優(yōu)先級高于變量雕旨,函數(shù)聲明提前到當前作用域最頂端,在var之上捧请。
2凡涩,函數(shù)執(zhí)行的時候,函數(shù)內(nèi)部才會進行預(yù)解析疹蛉,如果有參數(shù)活箕,先給實參賦值再進行函數(shù)內(nèi)部的預(yù)解析。
3可款,預(yù)解析函數(shù)是聲明+定義(開辟了內(nèi)存空間育韩,形參值默認是undefined)克蚂。
4,預(yù)解析變量是只聲明筋讨,不賦值埃叭,默認為undefined。
5悉罕,函數(shù)重名時赤屋,后者會覆蓋前者。
6蛮粮,變量重名時益缎,不會重新聲明,但是執(zhí)行代碼的時候會重新賦值然想。
7莺奔,變量和函數(shù)重名的時候,函數(shù)的優(yōu)先級高于變量变泄。