变数
用来储存资料和进行运算的单位。
命名规则
字首必为大小写英文字母(大小写区分)、底线、$,后面可接大小写英文字母、底线、$或是数字。命名时不可以是保留字或是关键字关键字
具有特定用途。
例如: break / else / do / var / new / while / function / this ...等等。保留字
有可能在将来作为关键字使用所以预先保留起来。
例如: short / boolean / export / class / float / goto ...等等。
当要宣告变数时,使用var。但在ES6之后还可以使用 let 和 const来做宣告。
var n ; //宣告变数但未给值console.log(n); //undifinedvar m = 30 ; //宣告变数同时也给了值console.log(m); //30console.log(hihi); //未宣告就使用会出现referenceErrorx = 1; //未宣告直接给值会自动变成全域变数console.log(x); //1
资料型别
「型别」是固有的、内建的特徵,能唯一识别特定值的行为。主要分成两种型别,「基本型别」以及「物件型别」。
string 字串number 数字boolean 布林值null 和 undifinedobject 物件
基本型别 (Primitives)
string 字串:会以 ' '(单引号)或是 " "(双引号)包夹住。var title1 = '我是字串呦' ;console.log(title1); //我是字串呦var str = 'let\'s go!' ; //利用跳脱字元(\)来分开var hi = 'hello' + 'world' ; //利用+来连接字串 var long = '这不是一行 \底下还有\最后一行了' ; // 利用\来做连接//es6之后增加了模板字串,由反引号`和$以及{}所组成。var age = 24 ;var word = `I am ${age} years old` ;console.log(word) ; //I am 24 years old//甚至还可以内嵌计算式var a = 5 ;var b = 6 ;console.log(`c is ${a+b}` ,`${2 * a + b}`) ; //c is 11 , 16
number 数字:除了整数和小数点以外,还有infinity(无限大)、-infinity(负无限大)以及NaN(not a number)。var a = 66 ; //整数var b = 66.66 ; //小数点// infinity 和 -infinity 分别等于数学上的无限大和负无限大// 一个整数除以0会得到infinity , 同样的一个负数除以0会得到-infinity// NaN在js里面是个相当有趣的存在,就字面上而言,他并不是个数字,但若用typeof运算子来判断时,他又会显示是number。// 简单来说,NaN是一个无效的数字,因此他和任何数字去做运算最终也会得到NaN,又可以说他不等于任何的数字,甚至是他自己。
boolean 布林值:true、false。null 和 undifinedvar a ; console.log(a) ; //undifined,已宣告但未给值var b = null ;console.log(b) ; //null,明确表示此变数没有值//简单来说,undifined表示这个变数已经宣告了但还没有给值,所以不知道是什么。//null则表示这个变数可能曾经有值,也可能曾经没有值,但可以知道的是他现在是没有值的。