js的基礎(chǔ)知識(shí)與應(yīng)用(五)

數(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){
    樣式名=樣式值;
    樣式名=樣式值;
    }
    不用:缺陷;
    主要是性能問題
2.obj.style.cssText='width:200px;height:200px;';
        obj.style.cssText  簡單
        但是不用:有缺陷。
                  會(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í)行的語句.

             eval('('+json+')')
     在解析json字符串的時(shí)候,要兩邊加()括號(hào)
     后臺(tá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'前面不能有代碼。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容