JavaScript基礎(chǔ)知識(shí)部分總節(jié)

JavaScript介紹

JavaScript是什么

HTML CSS

JavaScript 編程語言 流程控制

Netscape在最初將其腳本語言命名為LiveScript,后來Netscape在與Sun合作之后將其改名為JavaScript。JavaScript最初受Java啟發(fā)而開始設(shè)計(jì)的,目的之一就是“看上去像Java”,因此語法上有類似之處,一些名稱和命名規(guī)范也借自Java。

JavaScript現(xiàn)在的意義(應(yīng)用場(chǎng)景)

JavaScript 發(fā)展到現(xiàn)在幾乎無所不能。

1.網(wǎng)頁特效

2.服務(wù)端開發(fā)(Node.js)

3.命令行工具(Node.js)

4.桌面程序(Electron)

5.App(Cordova)

6.控制硬件-物聯(lián)網(wǎng)(Ruff)

7.游戲開發(fā)(cocos2d-js)

JavaScript和HTML、CSS的區(qū)別

HTML:提供網(wǎng)頁的結(jié)構(gòu),提供網(wǎng)頁中的內(nèi)容

CSS: 用來美化網(wǎng)頁

JavaScript: 可以用來控制網(wǎng)頁內(nèi)容,給網(wǎng)頁增加動(dòng)態(tài)的效果

JavaScript初體驗(yàn)

CSS:行內(nèi)樣式、嵌入樣式、外部樣式

javascript的書寫位置

寫在行內(nèi)

<input type="button" value="按鈕"onclick="alert('Hello World')" />

寫在script標(biāo)簽中

<head>

? <script>

? ? alert('Hello World!');

? </script>

</head>

寫在外部js文件中,在頁面引入

<script src="main.js"></script>

注意:引用外部js文件的script標(biāo)簽中不可以寫JavaScript代碼

變量

什么是變量

變量是計(jì)算機(jī)內(nèi)存中存儲(chǔ)數(shù)據(jù)的標(biāo)識(shí)符,根據(jù)變量名稱可以獲取到內(nèi)存中存儲(chǔ)的數(shù)據(jù)

如何使用變量

var聲明變量

var age;

變量的賦值

var age;

age = 18;

同時(shí)聲明多個(gè)變量

var age, name, sex;

age = 10;

name = 'zs';

同時(shí)聲明多個(gè)變量并賦值

var age = 10, name = 'zs';

變量的命名規(guī)則和規(guī)范

規(guī)則

1.由字母、數(shù)字、下劃線、$符號(hào)組成,不能以數(shù)字開頭

2.不能是關(guān)鍵字和保留字,例如:for、while。

3.區(qū)分大小寫

規(guī)范

1.變量名必須有意義

2.遵守駝峰命名法。首字母小寫,后面單詞的首字母需要大寫。例如:userName、userPassword

3.變量在內(nèi)存中的存儲(chǔ)

數(shù)據(jù)類型

簡單數(shù)據(jù)類型

Number、String、Boolean、Undefined、Null

Number類型

數(shù)值字面量:數(shù)值的固定String類型

‘a(chǎn)bc’ “abc”

字符串字面量

‘程序猿’,‘程序媛’,

Boolean類型

Boolean字面量:true和false區(qū)分大小寫

計(jì)算機(jī)內(nèi)部存儲(chǔ):true為1,false為0

Undefined和Null

undefined表示一個(gè)聲明了沒有賦值的變量,變量只聲明的時(shí)候值默認(rèn)是undefined

null表示一個(gè)空,變量的值如果想為null,必須手動(dòng)

復(fù)雜數(shù)據(jù)類型

Object

獲取變量的類型

typeof

數(shù)組

為什么要學(xué)習(xí)數(shù)組

之前學(xué)習(xí)的數(shù)據(jù)類型,只能存儲(chǔ)一個(gè)值(比如:Number/String。我們想存儲(chǔ)班級(jí)中所有學(xué)生的姓名,此時(shí)該如何存儲(chǔ)?

數(shù)組的概念

所謂數(shù)組,就是將多個(gè)元素(通常是同一類型)按一定順序排列放到一個(gè)集合中,那么這個(gè)集合我們就稱之為數(shù)組。

數(shù)組的定義

數(shù)組是一個(gè)有序的列表,可以在數(shù)組中存放任意的數(shù)據(jù),并且數(shù)組的長度可以動(dòng)態(tài)的調(diào)整。

函數(shù)

什么是函數(shù)

把一段相對(duì)獨(dú)立的具有特定功能的代碼塊封裝起來,形成一個(gè)獨(dú)立實(shí)體,就是函數(shù),起個(gè)名字(函數(shù)名),在后續(xù)開發(fā)中可以反復(fù)調(diào)用

函數(shù)的作用

封裝一段代碼,將來可以重復(fù)使用

函數(shù)的定義

函數(shù)聲明

function 函數(shù)名(){

? // 函數(shù)體

}

函數(shù)表達(dá)式

var fn = function() {

? // 函數(shù)體

}

函數(shù)的調(diào)用

調(diào)用函數(shù)的語法:

函數(shù)名()

特點(diǎn):

函數(shù)體只有在調(diào)用的時(shí)候才會(huì)執(zhí)行,調(diào)用需要()進(jìn)行調(diào)用。可以調(diào)用多次(重復(fù)使用)

函數(shù)的返回值

當(dāng)函數(shù)執(zhí)行完的時(shí)候,并不是所有時(shí)候都要把結(jié)果打印。我們期望函數(shù)給我一些反饋(比如計(jì)算的結(jié)果返回進(jìn)行后續(xù)的運(yùn)算),這個(gè)時(shí)候可以讓函數(shù)返回一些東西。

函數(shù)其它

匿名函數(shù)

匿名函數(shù):沒有名字的函數(shù)

匿名函數(shù)如何使用:

將匿名函數(shù)賦值給一個(gè)變量,這樣就可以通過變量進(jìn)行調(diào)用

匿名函數(shù)自調(diào)用

關(guān)于自執(zhí)行函數(shù)(匿名函數(shù)自調(diào)用)的作用:防止全局變量污染。

自調(diào)用函數(shù)

匿名函數(shù)不能通過直接調(diào)用來執(zhí)行,因此可以通過匿名函數(shù)的自調(diào)用的方式來執(zhí)行

(function () {

? alert(123);

})();

函數(shù)是一種數(shù)據(jù)類型

function fn() {}

console.log(typeof fn);

函數(shù)作為參數(shù)

因?yàn)楹瘮?shù)也是一種類型,可以把函數(shù)作為兩一個(gè)函數(shù)的參數(shù),在兩一個(gè)函數(shù)中調(diào)用

函數(shù)做為返回值

因?yàn)楹瘮?shù)是一種類型,所以可以把函數(shù)可以作為返回值從函數(shù)內(nèi)部返回,這種用法在后面很常見。

function fn(b) {

? var a = 10;

? return function () {

? ? alert(a+b);

? }

}

fn(15)();

作用域

作用域:變量可以起作用的范圍

全局變量和局部變量

全局變量

在任何地方都可以訪問到的變量就是全局變量,對(duì)應(yīng)全局作用域

局部變量

只在固定的代碼片段內(nèi)可訪問到的變量,最常見的例如函數(shù)內(nèi)部。對(duì)應(yīng)局部作用域(函數(shù)作用域)

變量提升

變量提升

定義變量的時(shí)候,變量的聲明會(huì)被提升到作用域的最上面,變量的賦值不會(huì)提升。

函數(shù)提升

JavaScript解析器首先會(huì)把當(dāng)前作用域的函數(shù)聲明提前到整個(gè)作用域的最前面。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容