Number
123; // 整數(shù)123
0.456; // 浮點(diǎn)數(shù)0.456
1.2345e3; // 科學(xué)計(jì)數(shù)法表示1.2345x1000拱层,等同于1234.5
-99; // 負(fù)數(shù)
NaN; // NaN表示Not a Number弥臼,當(dāng)無(wú)法計(jì)算結(jié)果時(shí)用NaN表示
Infinity; // Infinity表示無(wú)限大,當(dāng)數(shù)值超過了JavaScript的Number所能表示的最大值時(shí)根灯,就表示為Infinity
0xff00径缅;//十六進(jìn)制
字符串
布爾值
true; // 這是一個(gè)true值
false; // 這是一個(gè)false值
2 > 1; // 這是一個(gè)true值
2 >= 3; // 這是一個(gè)false值
&& || !
true && true; // 這個(gè)&&語(yǔ)句計(jì)算結(jié)果為true
true && false; // 這個(gè)&&語(yǔ)句計(jì)算結(jié)果為false
false && true && false; // 這個(gè)&&語(yǔ)句計(jì)算結(jié)果為false
false || false; // 這個(gè)||語(yǔ)句計(jì)算結(jié)果為false
true || false; // 這個(gè)||語(yǔ)句計(jì)算結(jié)果為true
false || true || false; // 這個(gè)||語(yǔ)句計(jì)算結(jié)果為true
! true; // 結(jié)果為false
! false; // 結(jié)果為true
! (2 > 5); // 結(jié)果為true
==比較 它會(huì)自動(dòng)轉(zhuǎn)換數(shù)據(jù)類型再比較掺栅,很多時(shí)候,會(huì)得到非常詭異的結(jié)果
===比較纳猪,它不會(huì)自動(dòng)轉(zhuǎn)換數(shù)據(jù)類型氧卧,如果數(shù)據(jù)類型不一致,返回false氏堤,如果一致沙绝,再比較。
建議使用===
NaN === NaN; // false
isNaN(NaN); // true
null和undefined
undefined表示值未定義
數(shù)組 可以包括任意類型
[1, 2, 3.14, 'Hello', null, true];
new Array(1, 2, 3); // 創(chuàng)建了數(shù)組[1, 2, 3]
var arr = [1, 2, 3.14, 'Hello', null, true];
arr[0]; // 返回索引為0的元素鼠锈,即1
arr[5]; // 返回索引為5的元素闪檬,即true
arr[6]; // 索引超出了范圍,返回undefined
對(duì)象
var person = {
name: 'Bob',
age: 20,
tags: ['js', 'web', 'mobile'],
city: 'Beijing',
hasCar: true,
zipcode: null
};
person.name; // 'Bob'
person.zipcode; // null
變量
組合:英文 數(shù)字 $ _
不能數(shù)字開頭
var a; // 申明了變量a购笆,此時(shí)a的值為undefined
var $b = 1; // 申明了變量$b粗悯,同時(shí)給$b賦值,此時(shí)$b的值為1
var s_007 = '007'; // s_007是一個(gè)字符串
var Answer = true; // Answer是一個(gè)布爾值true
var t = null; // t的值是null
var a = 123; // a的值是整數(shù)123
a = 'ABC'; // a變?yōu)樽址?
如果一個(gè)變量沒有通過var申明就被使用同欠,那么該變量就自動(dòng)被申明為全局變量
i = 10; // i現(xiàn)在是全局變量
strict模式
在strict模式下運(yùn)行的JavaScript代碼样傍,強(qiáng)制通過var申明變量
在JavaScript代碼的第一行
'use strict';
不支持strict模式的瀏覽器會(huì)報(bào)錯(cuò)
'use strict'
abc = 'Hello, world';
alert(abc);