一、什么是JavaScript
JavaScript用來制作web頁面的交互效果,提升用戶體驗。
1995年,網(wǎng)景公司發(fā)明了JavaScript
一開始,它叫做livescript,由于當時Java語言特別火,為了抱大腿,改名JavaScript。
ECMAscript,由Ecma國際前身為歐洲計算機制造商協(xié)會來定制的一個標準
Javascript 一開始,只是一個公司開發(fā)語言,所以,有很多問題,不便于其他公司使用和拓展,于是,這個組織就給他定制了一個標準,取名ECMAscript
所以,ECMAscript不是一門語言,而是一個標準,符合這個標準的有JavaScript action script
ECMAscript在2015年,發(fā)布了ECMAscript6。
1. javascript
2004年之前,js就是我們說的牛皮癬。Js用來制作頁面上的彈窗,廣告,什么讓人覺得煩,什么就是它寫的。
2004,谷歌公司,帶頭使用了ajxa技術,js開始用來作用于用戶體驗。
2007,喬布斯發(fā)布了iPhone,互聯(lián)網(wǎng)開始了標準化,按照w3c進行三層分離。
2010年,人們了解了H5技術,并且知道了H5里面的canvas畫布,于是,開始在上面進行游戲的制作。
2011年, node.js誕生了,js這一門語言,不再局限于前端,可以進行服務器后臺開發(fā),也是js進行全棧開發(fā)的一個門路。
2. JavaScript
Js 是對初學者最友好的一門語言。
Js是有界面效果的。你的勞動,是每時每刻都可以看得見,不會那么枯燥。
Js 是一門弱變量語言,變量只需要用 var 來聲明,java中,則不同的類型需要不同的變量聲明。
Js學習方法和html于css不一樣:
你們需要多去了解,思考,并且形成自己獨特的邏輯思維
Js的重復性勞動幾乎為0。
后面的學習,不要去背代碼,也不要去抄代碼。
二、 開始第一個JavaScript程序。
Js要寫在script標簽里面,也可以通過外部鏈接。
<script type="text/javascript"></script>
1.第一個語句
alert('今天是九月六號。')
彈出警告框。
當需要彈出兩次,則寫兩個alert就行了。
Js是一門單線程語言。
學習編程,是有規(guī)律的,有些事相同的部分,有些事不同的部分,那么,相同的部分很多是一個規(guī)定,不能去更改,這東西,我們稱之為:語法。
程序是一句句執(zhí)行,執(zhí)行完上面的,才會執(zhí)行下面的,一句句來。
2. 語法規(guī)則
Js對換行、縮進、空格是不敏感的。
每一條語句末尾,要加上分號,雖然這個分號不一定是必須加上,但是為了以后的代碼壓縮,必須加上,如果不加上,壓縮之后就不能運行了。
Js開發(fā)中,所有的符號,都必須是英文輸入法狀態(tài)下的,比如括號,逗號啊,分號。
JS注釋,分單行注釋和多行注釋
//表示單行注釋
/*
多行注釋
*/
快捷鍵,單行注釋的快捷鍵是ctrl+/,多行注釋是ctrl+shift+/
三、認識數(shù)字和字符串-直面量
“直面量”也成為字面量,就是說,你看見的是什么,它就是什么。
簡單的直面量有兩種:數(shù)字和字符串。
alert(123456);//因為123456是數(shù)字,所以,是不需要加上引號的;
新語句:
console.log(“ ”);
Console是控制臺的意思,log是輸出的意思,
控制臺使我們程序員調(diào)試程序的地方,我們經(jīng)常會需要用到console.log來調(diào)試我們的程序是否正確。所以,重要性:*****
四、變量
4.1 什么是變量
在你們以前上學的時候,是不是學過代數(shù):x、y、z…
那么,在計算機程序中,也有這么一個量,代表數(shù)字、字符串等其他東西,稱為變量。
var a; //聲明一個變量,相當于在內(nèi)存中開辟了一個空間。
a=100;//給這個變量賦值。
所以,必須先開辟空間,才能把東西放進去,所以,必須先聲明,再賦值。也可以連著寫
var a =100;
var 是一個固定的寫法。
var 是一個關鍵字,所謂的關鍵字,就是帶有特殊功能的小詞語,關鍵字后面必須有空格。
等號表示賦值,而不是相等,會把等號右邊的值賦值給左邊。
4.2 變量的命名規(guī)范
只能由英文字母、數(shù)字、下劃線、美元符號$構成,不能用數(shù)字開頭,并且不能是js的保留關鍵字。
var haha = 250;
var xasdadas = 300;
var a1=asdasd;
var a47a55=500;
var $acv=100;
var _ =200;
var ______=544;
上面都是正確的;
var a-1=100; 不能有怪異的符號;
var 2a=100; 不能數(shù)字開頭;
var a b=100; 不能有空格
var 啊=100; 不能是中文。
上面都是錯誤的;
并且,不能用關鍵字命名,下面都是關鍵字:
abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto
implements、import、int、interface、long、native、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile
例如:var public=100; 錯誤的。
并且 大小寫字母是敏感的,也就是說,A和a是兩個變量。
4.3 變量的定義和賦值
變量用var來定義,只有定義后,這個變量才能用。
// 報錯類型:not defined 表示未定義。
并且,在JS里面,任何類型的變量,都是用VAR來定義,這點和C以及JAVA是截然不同。
變量和字符串要用嚴格區(qū)分開來,字符串用引號包裹起來,內(nèi)容隨意,只要用引號包起來的,那么程序就不會識別里面到底是什么玩意兒,只會把他打印出來。
4.4 變量的類型
變量里面能存儲數(shù)字、字符串等等類型,變量會根據(jù)自己的存儲的東西的類型不同,來自動決定自己的類型。那么,也就是說,變量是有類型的。
1) 數(shù)值型
如果一個變量存放的數(shù)字,那么他就是數(shù)值型;
//typeof用來輸出變量的類型,用?。簍ypeof 變量;
在JS只要是數(shù)字,就是數(shù)值型,不論大小,不論正負,不論整浮,都是number。
2) 字符串型
String類型就是字符串;
只要引號引起來了,就是字符串類型
字符串是可以連接、拼接;
在JS里面,加號(+)有兩層含義:
連字符、加;
加號,是可以用來進行字符串的拼接
那,什么情況下他是‘加’?
如果加號兩邊都是數(shù)值類型(number),那么它是加,否則,就是連接字符。
五、變量值的傳遞
語句;
a=b;
將等號右邊的值,賦值給左邊的變量,等號右邊的變量,值不變;
把b的值賦值給了a,b不變;
六、運算符和表達式

這個式子在JS里面的正確表達式就是:
(3+45)/(6+3);
+、、/、()、-都是運算符
這個式子叫做表達式;
運算符有很多類型:數(shù)學運算符、邏輯運算符、自增運算符等等,這里先講數(shù)學運算符;

并且和數(shù)學一樣,都是先算乘除,后算加減;
Var a=1+2*3;
在JS里面,小括號,是可以影響計算順序,并且,沒有中括號,大括號,只有小伙好,并且,小括號,可以嵌套;
原式=3*3+15
=9+15
=24
Var a=(3*3)+15;
取余 %
乘、除、取余的運算優(yōu)先級相同,都比加減高,所以,誰寫在前面就先算誰。
上面是基本的運算符
乘方和開根號。

=3 * 3 * 3 * 3;
上面的乘方在JS中的寫法
var a = Math.pow(3,4);
Math是數(shù)學函數(shù)。

var a= Math.pow(3,4*5);

var a=Math.pow(3,Math.pow(2,2));

var a=Math.pow(Math.pow(3,2),4);
2.開根號

var a=Math.sqrt(81);
Sqrt是英語中的開根號的意思。
變量的格式轉換:
字符串>>數(shù)字
parseInt(“5”)
JS遵從駝峰命名法
就像駱駝的那啥峰一樣,一高一低,那么在JS里面,就是:
當一串單詞組合在一起的時候,每一個單詞結束后,下一個單詞首字母大寫??!
例:var goSchool;
parse的意思是轉換,Int表示整數(shù)
parseInt自帶凈化功能,自動過濾后面的非數(shù),只保留開頭的數(shù)字。
NaN的意識是非數(shù),就不是一個數(shù)字的意思。
并且parseInt自動帶有截斷小數(shù)的功能(取整,而是不是四舍五入);
錄入用戶輸入:
var a=prompt(“請隨便輸入點什么東西吧!”);
不論用戶輸入了什么,都會變成字符串