剛接觸JavaScript不久,主要學習了W3C、JS祕密花園、Mozilla幾個教程,在這裏把學習筆記分享給你們,但願對你們有幫助。git
W3C school
1.document.write只能在HTML輸出中使用,若是在文檔加載後使用該方法,會覆蓋整個文檔
2.JavaScript是腳本語言,瀏覽器會在讀取代碼時,逐行地執行腳本代碼,而不是在執行前對全部代碼進行編譯
3.沒有初始化的變量值爲undefined;從新聲明JavaScript變量,變量值不會消失
4.JavaScript變量能夠用做不一樣的類型,以最後賦值的類型爲準
5.JavaScript能夠向已存在的對象添加屬性和方法
6.不加var的變量是全局變量,全局變量在頁面關閉後被刪除;加了var且在方法中的變量是局部變量
7.數字和字符串相加,結果將成爲字符串
8.能夠用for/in語句循環遍歷對象的屬性
9.數組能夠越界,越界以後取值爲undefined,至關於false
10.經過標籤引用,break語句能夠用於跳出任何JavaScript代碼塊
11.throw可用於拋出一個異常,catch會捕捉到這個錯誤,並顯示一段自定義的錯誤消息
12.with語句中任何表達式的所屬對象或者是類都由with後緊跟的變量所表明
13.
改變HTML內容:document.getElementById(id).innerHTML=new HTML
改變HTML屬性:document.getElementById(id).attribute=new value
改變HTML樣式:document.getElementById(id).style.property=new style
14.事件:onload、onunload、onchange、onmouseover、onmouseout、onmousedown、onmouseup、onclick、onfocus……
JavaScript祕密花園
1.JavaScript中全部變量都是對象,包括數值,除了兩個例外null和undefined
2.刪除屬性的惟一方法是使用delete操做符
3.JavaScript不包含傳統的類繼承模型,而是使用prototypal原型模型
4.當查找一個對象的屬性時,JavaScript會向上遍歷原型鏈,直到找到給定名稱的屬性爲止
5.hasOwnProperty是JavaScript中惟一一個處理屬性可是不查找原型鏈的函數
6.在使用for in loop遍歷對象時,推薦老是使用hasOwnProperty方法,這將會避免原型對象擴展帶來的干擾
7.JavaScript中的函數聲明會在執行前被解析(函數賦值不會),所以能夠在函數聲明以前被調用
8.函數是JavaScript中惟一擁有自身做用域的結構,所以閉包的建立依賴於函數
9.JavaScript中每一個函數內都能訪問一個特別變量arguments。這個變量維護着全部傳遞到這個函數中的參數列表
10.===是嚴格等於操做符,不會進行類型轉換
11.當漏寫分號時,JavaScript解析器會自動插入分號,可是這有可能改變代碼的行爲
Mozilla
1.在函數內部聲明全局變量後,使用該變量時,必須保證該函數已經被調用
2.JavaScript只支持函數做用域,不支持塊級做用域,如for循環內部定義的變量外部也可使用
其餘
1.若是&&左側表達式的值爲真值,則返回右側表達式的值;不然返回左側表達式的值
2.若是||左側表達式的值爲真值,則返回左側表達式的值;不然返回右側表達式的值