1.web標(biāo)準(zhǔn)
結(jié)構(gòu)(HTML),表現(xiàn)(css),行為(js)
2.css優(yōu)先級
!important > 行間 > ID > class > 通配符
3.頁面文檔解析的先后順序
結(jié)構(gòu)(HTML)—— 表現(xiàn)(css) —— 行為(js)
4.js中全局變量屬于window,怎樣解決他不屬于window?
①箭頭函數(shù)
②更改指向
5.分號什么時候加?
①等號右邊加分號
②事件函數(shù),所有的大括號后加分號
6.return的一些特性
①函數(shù)里沒有返回值會返回undefined
②阻斷后面代碼的執(zhí)行
作用:
①阻斷后面代碼的執(zhí)行
②封裝函數(shù)
7.面向?qū)ο蟮娜筇卣?/strong>
繼承、封裝、多態(tài)
8.定時器
setTimeout clearTiomeout 可以模擬循環(huán)
setInterval clearInterval
9.js中批量修改樣式
①改類名
②cssText
③for循環(huán)
④使用json setStyle
⑤with
with(obj.style){
width:"200px"
...
}
注:cssText會清除之前元素含有的樣式,所以得用:
obj.cssText += 'width:200px;height:100px;'
但在IE中最后一個分號會被刪除,解決辦法:
obj.cssText += ';width:200px;height:100px;'
10.獲取非行間樣式的方法
①IE:currentStyle
②其他:getComputedStyle
eg:
function getStyle(obj, attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}else{
return window.getComputedStyle(obj,false)[attr];
}
}
alert(getStyle(Div,"background"));
11.break是結(jié)束整個循環(huán)體,continue是結(jié)束單次使用
break也可以在while中使用
12.循環(huán)語句
for
for in
while
forEach
map
13.判斷語句
if(適用于一個區(qū)間內(nèi)判斷)
switch(適用于一個離散值判斷)
14.三目
變量 = 條件?語句:語句
15.if中只有一個語句可以不寫大括號
if()
語句
**16.什么是真,什么是假
真:true,非空字符串,非0數(shù)字,非空對象
假:false,0,空字符串,空對象,null,undefined,NaN
17.基本數(shù)據(jù)類型
String Number Undefined Null Boolean Object Symbol
檢測數(shù)據(jù)類型:typeOf() instanceOf()
18.幾種出現(xiàn)undefined的情況
①未聲明的變量
②已聲明未定義的變量
③傳參沒有值
④訪問不存在的屬性
undefined與not defined的區(qū)別###
undefined:未經(jīng)任何操作或者某對象的一個未定義的屬性
not defined:完全沒定義
*null是空指針
19.隱式轉(zhuǎn)換
- " +” 運算符
var a = 11, b = '22';
var c = a + b;
console.log(c) //1122
當(dāng)運算符“ +” 兩邊一個是數(shù)字類型, 一個是字符串類型時, js引擎規(guī)定進行字符串連接運算而非算術(shù)加運算。
20.“ -” 運算符
var a = 11, b = '5';
var c = a - b;
alert(typeof c); //--> number
“”-”運算符會把字符串b隱式的轉(zhuǎn)換成數(shù)字5再進行算術(shù)減法運算。
20.顯示轉(zhuǎn)換
1.轉(zhuǎn)換為數(shù)值類型:
Number(mix)
parseInt(string,radix)(轉(zhuǎn)成整數(shù))
parseFloat(string)(轉(zhuǎn)成浮點數(shù))
2.轉(zhuǎn)換為字符串類型:
toString(radix)
String(mix)
3.轉(zhuǎn)換為布爾類型:
Boolean(mix)
21.字符串
harAt()方法可返回指定位置的字符
replace()方法用于在字符串中用一些字符替換另一些字符,或替換一個與正則表達(dá)式匹配的子串。
substring()方法用于提取字符串中介于兩個指定下標(biāo)之間的字符。
substr()方法可在字符串中抽取從 start 下標(biāo)開始的指定數(shù)目的字符。
plit()方法用于把一個字符串分割成字符串?dāng)?shù)組。
`concat() 方法用于連接兩個或多個字符串。
slice()方法可提取字符串的某個部分,并以新的字符串返回被提取的部分。
indexOf()方法可返回某個指定的字符串值在字符串中首次出現(xiàn)的位置。
lastIndexOf() 方法可返回一個指定的字符串值最后出現(xiàn)的位置,在一個
字符串中的指定位置從后向前搜索。
toLowerCase() 方法用于把字符串轉(zhuǎn)換為小寫。
toUpperCase()方法用于把字符串轉(zhuǎn)換為大寫。
22.數(shù)組
push() 在數(shù)組末尾增加一個或多個元素
pop() 用于刪除并返回數(shù)組的最后一個元素
join() 將數(shù)組中所有元素都轉(zhuǎn)化為字符串并且連接在一起,返回最后生成的字符串
reverse()將數(shù)組中元素的順序顛倒,返回逆序的數(shù)組。
sort()將數(shù)組中的元素進行排序,并且返回排序后的數(shù)組。
concat()合并兩個數(shù)組,并返回合并后的新數(shù)組。
slice()返回指定數(shù)組的一個片段或子數(shù)組,它的兩個參數(shù)分別指定片段的開始和結(jié)束的位置(不包含該元素)。
splice()用于插入、刪除或替換數(shù)組的元素。并返回刪除的部分?jǐn)?shù)組。
unshift()在數(shù)組的頭部添加一個或多個元素,最后返回數(shù)組新的長度。
shift()刪除數(shù)組的第一個元素并將其返回。
23.嚴(yán)格模式
user strict
為什么用嚴(yán)格模式:
消除Javascript語法的一些不合理、不嚴(yán)謹(jǐn)之處,減少一些怪異行為;
消除代碼運行的一些不安全之處,保證代碼運行的安全;
提高編譯器效率,增加運行速度;
為未來新版本的Javascript做好鋪墊。
"嚴(yán)格模式"體現(xiàn)了Javascript更合理、更安全、更嚴(yán)謹(jǐn)?shù)陌l(fā)展方向,包括IE 10在內(nèi)的主流瀏覽器,都已經(jīng)支持它,許多大項目已經(jīng)開始全面擁抱它。
另一方面,同樣的代碼,在"嚴(yán)格模式"中,可能會有不一樣的運行結(jié)果;一些在"正常模式"下可以運行的語句,在"嚴(yán)格模式"下將不能運行。
語法與行為改變:
- 禁止this關(guān)鍵字指向全局對象
2.全局變量顯式聲明
3.禁止刪除變量
4.對象不能有重名的屬性
5.函數(shù)不能有重名的參數(shù)