JavaScript是一門(mén)輕量級(jí)的腳本編程語(yǔ)言嗅榕,它由三部分組成:
- ECMAScript(v4,v5): 定義了JS里面的命名規(guī)范账阻,變量熔任,數(shù)據(jù)類(lèi)型,基本語(yǔ)法蠢琳,操作語(yǔ)句等最核心的東西
- DOM: document object model 文檔對(duì)象模型
- BOM: browser object model 瀏覽器對(duì)象模型
在JavaScript中啊终,變量顧名思義即為可以變化的量。JavaScript中的變量是一個(gè)抽象的概念傲须,變量是用來(lái)存儲(chǔ)值和代表值的蓝牲。可以這么理解泰讽,我有一個(gè)箱子專(zhuān)門(mén)放書(shū)例衍,我把這個(gè)箱子起一個(gè)名字叫做“放書(shū)箱子1”,有一個(gè)箱子專(zhuān)門(mén)放衣服已卸,我把這個(gè)箱子起一個(gè)名字叫做“放衣服箱子1”佛玄,又這兩個(gè)名字分別指代那兩個(gè)箱子,而這兩個(gè)名字就是變量咬最。那什么又是值翎嫡?“放書(shū)箱子1”里的書(shū),“放衣服箱子1”里的衣服永乌,就相當(dāng)于值惑申。
在JavaScript中定義一個(gè)變量非常的簡(jiǎn)單,只要遵循以下語(yǔ)法:
var 變量名 = 變量值;
例如:
var bookCase = 10; // 表達(dá)的是定義了一個(gè)變量叫做bookCase,
//這個(gè)變量(可以理解成一個(gè)盒子)放的值為10 翅雏。
其中 =
是賦值操作圈驼,左邊為變量名,右邊為變量值望几。
JS中的變量是松散類(lèi)型的:通過(guò)一個(gè)var 變量名 就可以存儲(chǔ)任何的數(shù)據(jù)類(lèi)型绩脆。
例如在Java中,如果定義一個(gè)變量,需要根據(jù)變量類(lèi)型來(lái)用指定的標(biāo)識(shí)符來(lái)定義變量靴迫,例如:
int number = 10; // 定義一個(gè)整數(shù)類(lèi)型的變量
double number = 10.0; // 定義一個(gè)雙精度類(lèi)型的變量
String str = "hello world"; // 定義一個(gè)字符串類(lèi)型的變量
而JavaScript變量是松散類(lèi)型(弱類(lèi)型)的惕味,所以只需一個(gè)var就能搞定,如下:
var number = 10;
var number = 10.1;
var str = "hello world";
而且還能隨時(shí)改變變量的類(lèi)型玉锌,如下:
var a = 10;
a = "hello";
a = true;
但是不建議這么使用名挥。
對(duì)于變量的命名,有一定的命名規(guī)范主守,不能隨便起一個(gè)變量名禀倔。要遵循如下的規(guī)則:
- JavaScript嚴(yán)格區(qū)分大小寫(xiě),例如:
var str;
var Str;
var sTr;
var STR;
var stR;
以上的5個(gè)變量分別代表不同的變量参淫。
- 建議使用駝峰命名法 (或者c語(yǔ)言風(fēng)格)救湖,駝峰命名法即首字母小寫(xiě),其余的每一個(gè)有意義的單詞的首字母大寫(xiě)涎才,且讓變量名尤其代表的含義鞋既,例如:
var a = 10; // 不建議,因?yàn)椴恢繿是什么
var studentinfo = 'student'; //不建議憔维,很難看清楚變量表達(dá)的含義
var studentInfo = 'student'; // 駝峰命名法涛救,推薦使用
var student_info = 'student'; // c語(yǔ)言風(fēng)格命名畏邢,也可以使用
- 可以使用數(shù)字业扒,字母,下劃線舒萎,$程储,但是數(shù)字不能作為首位
var a; // 合法
var a1; // 合法
var a_; // 合法
var $; 合法
var _a; 合法
var 1a; // 不合法
- 不能使用關(guān)鍵字和保留字
關(guān)鍵字:在JavaScript中有特殊意義的字
保留字:未來(lái)可能成為關(guān)鍵字的
JavaScript中的數(shù)據(jù)類(lèi)型分類(lèi):基本數(shù)據(jù)類(lèi)型和引用數(shù)據(jù)類(lèi)型。
- 基本數(shù)據(jù)類(lèi)型:基本數(shù)據(jù)類(lèi)型:由簡(jiǎn)單的結(jié)構(gòu)組成的臂寝,包括
數(shù)字(number)章鲤、字符串(string)、布爾(boolean)咆贬、null败徊、undefined
這五種。
var num = 12;
var str = 'derrick';
var boo = true; // true 和 FALSE
var n = null;
var m = undefined;
- 引用數(shù)據(jù)類(lèi)型:結(jié)構(gòu)相對(duì)復(fù)雜一些的掏缎,包括有
對(duì)象數(shù)據(jù)類(lèi)型(object)皱蹦、函數(shù)數(shù)據(jù)類(lèi)型(function)、數(shù)組數(shù)據(jù)類(lèi)型(Array)眷蜈、正則(RegExp)
沪哺。
var obj = {
name: 'Qian'
};// 對(duì)象數(shù)據(jù)類(lèi)型
var ary = [1, 2, 3, 4]; // 數(shù)組 也是對(duì)象數(shù)據(jù)類(lèi)型
var reg = /^[A-Z][0-9]{10}$/; // 正則 也是數(shù)據(jù)對(duì)象類(lèi)型
var fn = function () { // 函數(shù)數(shù)據(jù)類(lèi)型
}