JavaScript賦予網頁靈魂,讓頁面能夠動起來,更增長了與用戶的交互,使用起來的也比較方便javascript
<head>
<script type="text/javascript">
// javascript 代碼
</script>
</head>
複製代碼
或者在body的結尾引入java
<body>
<script src="" type="text/javascript" charset="utf-8"></script>
</body>
複製代碼
JS放在head和放在body中的區別
1,JS若是放在head中,則先被解析,但這個時候body尚未解析,DOM節點尚未生成,因此會返回空值 undefind。解決的辦法windows
windows.onload = function() {
// JS代碼
}
複製代碼
因此:放在head中的JS代碼會在頁面加載完以前就被讀取了,而放在body結尾的代碼,會在整個頁面加載完以後被讀取。
JavaScript應該放在哪裏?有時候咱們想讓一段腳本在頁面加載的時候優先執行,有時候咱們想在用戶觸發一個事件的時候執行,因此,具體放在哪裏,因需求而定。數組
(1) JavaScript是區分大小寫的,因此聲明變量的時候要注意。HTML是不區分大小寫的
(2) JavaScript註釋方法:單行註釋:// 多行註釋:/**...*/ 多行註釋不能嵌套多行註釋
(3) JavaScript沒有強制要求使用分號,由於在解析的時候,除了分號還會以換行做爲斷句的依據,從而會幫你填補分號。我的建議:爲了加強代碼可讀性,減小歧義,我的意見是在語句結束的地方,加上分號。
(4)JavaScript標識符第一個字符必須是字母,下劃線,或者美圓符號,切記,數字是不容許做爲首字符出現的,並且變量名中不能出現空格,或者標點符號 (5)在JavaScript裏面具備某種特殊意義的單詞叫作關鍵字,可能未來做爲關鍵字的叫作保留字。這些單詞是不容許做爲聲明的變量使用的
關鍵字 && 保留字bash
abstract | double | goto | native | static |
---|---|---|---|---|
boolean | enum | implements | package | super |
byte | export | private | synchronized | import |
char | extends | int | protected | throws |
class | final | interface | public | transient |
const | float | long | short | volatile |
break | do | case | else | void |
continue | for | switch | while | debugger |
if | throw | delete | in | try |
var | function | new | return | default |
let | yield | arguments | true | this |
JavaScript的6中數據類型,可分爲兩類:原始類型 和 對象類型
原始類型:number,string, boolean, null, undefined
對象類型:object( 包含Function, Array, Date, RegExp,Error ... 等等),
符合(symbol) ES6新增類型
能夠用typeof運算符來查看值的類型函數
<script type="text/javascript">
console.log(typeof undefined === 'undefined')
console.log(typeof true === 'boolean')
console.log(typeof 100 === 'number')
console.log(typeof 'abc' === 'string')
console.log(typeof {} === 'object')
console.log(typeof function a(){} === 'function')
console.log(typeof null === 'object') // 特別注意,存在已久的bug
console.log(typeof Symbol() === 'symbol')
// 平常開發判斷null方法
var str = null;
console.log(!str && typeof str === 'object')
</script>
複製代碼
上述代碼結果返回都是true值ui
(1)&& ,& 第一個和第二個都爲true,則返回true
(2)|| ,| 只要有一個爲真值就返回真,全假返回false
(3)a++ 先使用a值,而後加1, ++a 先加1,而後使用a值 (b--和--b同理)
(4)= 稱做賦值 == 稱做相等 === 稱做嚴格相等this
1,若是兩個值類型不相同,則他們不相等
2,若是兩個值都是null,undefined,則他們不相等
3,若是兩個值都是false,true,則他們相等
4,若是任何一個值爲NaN,或者兩個都爲NaN,則不相等
5,若是兩個引用值指向同一個對象,數組或者函數,則相等
複製代碼
(5)in運算符,左邊操做數是一個字符串,右側是一個對象,若是右邊對象裏面含有左邊操做數的值,那麼表達式返回true
(6)instanceof運算符,左側爲一個對象,右側表示對象的類,若是左側對象是右側類的實例,返回true。注意:全部的對象都是Object的實例spa