數(shù)組的真正寫法:
new Array();
函數(shù)的真正寫法:
new Function(); //不推薦
Math的常用方法(本地對(duì)象)
Math.random() 獲取0-1之間的隨機(jī)小數(shù)不包括1
Math.ceil() 向上取整
Math.floor() 向下取整
Math.round() 四舍五入
Math.abs() 絕對(duì)值
Math.sqrt() 開方
Math.pow() n次方(冪)
Math.max() 求最大值
Math.min() 求最小值
getByClass
批量修改樣式:
1.with(obj.style){
樣式名=樣式值;
樣式名=樣式值;
}
不用:缺陷;
主要是性能問(wèn)題
2.obj.style.cssText='width:200px;height:200px;';
obj.style.cssText 簡(jiǎn)單
但是不用:有缺陷汤善。
會(huì)覆蓋 先把行間樣式清空再加
getStyle 批量獲取樣式
function getStyle() {
if (arguments.length==3){
arguments[0].style[arguments[1]]=arguments[2];
}else{
for(var name in arguments[1]){
arguments[0].style[name]=arguments[1][name];
}
}
}
eval:把字符串變成可執(zhí)行的語(yǔ)句.
eval('('+json+')')
在解析json字符串的時(shí)候,要兩邊加()括號(hào)
后臺(tái)過(guò)來(lái)的json 都是字符串
****另一種方法:var fn=new Function('return'+json);
fn()
預(yù)解析:
會(huì)預(yù)先解析一些(變量定義、函數(shù)會(huì)預(yù)解析);
var a=12;
只把var a提到作用域的頂部
js會(huì)把變量的聲明(僅僅是聲明)提到頂部然爆。不會(huì)突破作用域
`執(zhí)行步驟:`
讀取一個(gè)script標(biāo)簽>預(yù)解析>執(zhí)行里面的代碼>
讀取下一個(gè)script標(biāo)簽>預(yù)解析>執(zhí)行里面的代碼
不會(huì)突破script標(biāo)簽
undefined和not defined
undefined存在沒有賦值
not defined 沒定義 直接用
預(yù)解析作用范圍:
會(huì)找本作用域之內(nèi)(函數(shù)刁愿、script)
函數(shù)也有預(yù)解析,但是要注意:
當(dāng)以變量的形式聲明的函數(shù),預(yù)解析會(huì)按照變量的特性走
引用:
對(duì)象才有引用 基本類型沒有
什么叫有引用 其徙?他們指的是同一個(gè)東西谱煤;
引用: 共同是一個(gè)東西:object
只有在對(duì)象身上才會(huì)發(fā)生
為什么會(huì)它有引用 因?yàn)閷?duì)象比較大 不能每次都用新東西 性能浪費(fèi)
異常:
try...catch
報(bào)錯(cuò)的時(shí)候亥曹,后面的程序不執(zhí)行噪服。
bug異常 程序員不可控制的錯(cuò)誤
try...catch
try 嘗試著去執(zhí)行一段代碼毡泻。
如果沒有做錯(cuò)。就正常執(zhí)行粘优。
如果有錯(cuò)仇味,找catch
try{
可能會(huì)出錯(cuò)的代碼
}catch(e){
補(bǔ)救代碼
}
e 包含著錯(cuò)誤信息
嚴(yán)格模式
'use strict'
嚴(yán)格模式的好處:
1.解決了局部函數(shù)中this是window的bug.
2.解決了不加var聲明變量的bug.
3.避免在if,switch雹顺,for丹墨,while,for in里面定義函數(shù)
(不允許在非函數(shù)的代碼塊內(nèi)聲明函數(shù))
4.去掉了with
嚴(yán)格模式是好東西
每個(gè)js文件都加上嚴(yán)格模式 推薦
嚴(yán)格模式有作用域 1.函數(shù) 2.script
嚴(yán)格模式兼容?
高級(jí)瀏覽器兼容 ie9-不兼容
嚴(yán)格模式注意:
使用嚴(yán)格模式'use strict'前面不能有代碼嬉愧。
最后編輯于 :2017.12.05 21:49:49
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者