第八章、Js基礎(chǔ)(1)

1、JavaScript簡介

1.1、發(fā)展歷程

??? 》 1992年:Nombas公司開發(fā)C-minus-minus(簡稱CMM)的嵌入腳本,后改名為ScriptEase

??? 》 1995年:Netscape開發(fā)LiveScript 的腳本語言,發(fā)布前,Netscape 將其更名為 JavaScript

??? 》 微軟決定進軍瀏覽器,發(fā)布了 一個 JavaScript 的克隆版,叫做 JScript

??? 》 1997 年,歐洲計算機制造商協(xié)會(ECMA)指定JS標(biāo)準(zhǔn),命名為 ECMAScript 。從此,ECMAScript 作為

??????? JavaScript 實現(xiàn)的基礎(chǔ)

1.2、JavaScript的作用

??? 》 Html和css的網(wǎng)頁只是”靜態(tài)”的

??? 》 使用JavaScript,網(wǎng)頁才能動起來(讓網(wǎng)頁具有動畫效果)

1.3、使用的環(huán)境

??? 》 網(wǎng)頁特效,如:抽象、圖片輪播、倒計時等

??? 》 表單輸入驗證

??? 》 網(wǎng)頁游戲

1.4、第一個Html示例

??? 》 Html頁面中輸出《憫農(nóng)》

??? 》 注釋(單行注釋與多行注釋)

1.5、Js的兩種使用方式

??? 》 直接嵌入

??? 》 外部引入

1.6、什么是JavaScript

1.6.1、概述

??? JavaScript是由網(wǎng)景公司推出,主要運行在瀏覽器客戶端,實現(xiàn)頁面交互的腳本語言

1.6.2、特點

??? 》 解釋型腳本語言

??? 》 不需要服務(wù)器支持

??? 》 直接嵌入頁面使用

??? 》 跨平臺,易上手

??? 》 基于對象,事件驅(qū)動

1.6.3、JavaScript的組成

??? 》 ECMAScript:JavaScript腳本的核心,定義了數(shù)據(jù)類型、基本語法級分支語句等

??? 》 BOM:瀏覽器對象模型,提供了操作瀏覽器對象的相關(guān)方法

??? 》 DOM:文檔對象模型,提供了文檔操作的相關(guān)方法

2、變量與數(shù)據(jù)類型

2.1、變量

?? 1)定義語法

??????? [var] 變量名 = 值;

??? 2)、說明

??????? 》 JavaScript采用弱類型。即變量在使用前不需作聲明,而是解釋器在運行時再檢查其數(shù)據(jù)類型。

??????? 》 JavaScript變量是弱類型的,聲明統(tǒng)一用 var,這一點與強類型的java語言不同

??????? 》 JavaScript變量的類型可以變化,?? 取決于后面所賦的值

??? 3)、變量命名規(guī)則

??????? 》 變量名區(qū)分大小寫

??????? 》 只能含有字母 、數(shù)字 、下劃線_ 、美元符號$

??????? 》 不能以數(shù)字開頭

??????? 》 不能使用關(guān)鍵字和保留字

??? 4)、變量命名建議

??????? 》 變量名盡可能的短,抓住要點

??????? 》 使用有意義的短語命名

??????? 》 推薦常用的駝峰命名法

2.2、局部變量和全局變量

??? 1)、全局變量

??????? 在 JavaScript 函數(shù)內(nèi)部聲明的變量(使用 var)是局部變量,所以只能在函數(shù)內(nèi)部訪問它。函數(shù)運行完畢,本地變

??????? 量就會被刪除

??? 2)、局部變量

???????? 在函數(shù)外聲明的變量是全局變量,網(wǎng)頁上的所有腳本和函數(shù)都能訪問它。

??? 3)、對比

??????? 》 局部變量會在函數(shù)運行以后被刪除

??????? 》 全局變量會在頁面關(guān)閉后被刪除

2.3、typeof操作符(類型檢測)

??? 1)、語法

??????? typeof 字面量/變量

??? 2)、作用

??????? 返回變量/字面量的值

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

??? 1)、number(數(shù)字)

??????? 》 概述

??????????? JavaScript 只有一種數(shù)字類型。

??????? 》 說明

??????????? # 數(shù)字可以帶小數(shù)點,也可以不帶

??????????? # 極大或極小的數(shù)字可以通過科學(xué)(指數(shù))計數(shù)法來書寫

??? 2)、string(字符串)

??????? 》 概述

??????????? 字符串是存儲字符的類型。

??????? 》 說明

??????????? # 字符串是由雙引號(”)或單引號(’)括起來的字符序列

??????????? # 可以在字符串中使用引號,只要不匹配包圍字符串的引號即可

??? 3)、boolean(布爾)

??????? 》 概述

??????????? 布爾值指代真或假、開或關(guān)、是或否。

??????? 》 說明

??????????? # Boolean類型只有兩個值,保留字true和false

??? 4)、null(空)

??????? 》 概述

??????????? 可以通過將變量的值設(shè)置為 null 來清空變量。

??????? 》 說明

??????????? # null值表示一個空對象,所以使用 typeof 操作符檢測 null 值時會返回"object"

??????????? # undefined 表示變量未初始化,null表示變量值為空值

??? 5)、undefined(未定義)

??????? 》 概述

??????????? undefined表示變量沒有值。

??????? 》 說明

??????????? # 使用var聲明變量但未對其初始化時,這個變量的值就是undefined

??????????? # 已聲明但未初始化的變量是undefined類型,它與未聲明的變量是不同的

??????????? # 值 undefined 實際上是從值 null 派生來的,所以比較時他們的值是相等的

??? 6)、object(對象)

??????? 》 概述

??????????? JavaScript中的對象。

2.5、類型轉(zhuǎn)換

??? 1)、Java類型轉(zhuǎn)換的特點

??????? 》 轉(zhuǎn)換前后的數(shù)據(jù)類型兼容

??????? 》 根據(jù)轉(zhuǎn)換前后數(shù)據(jù)類型的范圍來區(qū)分是自動轉(zhuǎn)換還是強制轉(zhuǎn)換

??? 2)、隱式類型轉(zhuǎn)換

??????? 隱式轉(zhuǎn)換又叫自動類型轉(zhuǎn)換,不需要用戶干預(yù),自動進行類型轉(zhuǎn)換。

??? 3)、顯式類型轉(zhuǎn)換

??????? 顯式轉(zhuǎn)換又叫強制轉(zhuǎn)換,是指將一個變量或表達式強制轉(zhuǎn)換成特定的數(shù)據(jù)類型。如:String(123);

2.6、類型轉(zhuǎn)換方法

??? 1)類型()

??????? 將數(shù)據(jù)轉(zhuǎn)為目標(biāo)類型

??? 2)parseXxxx()

??????? 將數(shù)據(jù)轉(zhuǎn)為目標(biāo)類型。

2.7、NaN(特殊值:Not a Number)

??? 表示當(dāng)前數(shù)據(jù)不是一個數(shù)字。

2.8、isNaN()

??? 該函數(shù)用于檢查一個變量是否為數(shù)值,如果是,則返回false,如果不是,則返回true

3、運算符和選擇結(jié)構(gòu)

3.1、概述

??? 運算符是執(zhí)行變量或值之間運算的符號

3.2、運算符

3.2.1、算數(shù)運算符

??? +、-、*、/、%、++、--

3.2.2、賦值運算符

??? 1)、最常用的賦值運算符是:=

??? 2)、復(fù)合賦值運算符有:+=、-=、*=、/=、%=

3.2.3、比較運算符

??? 1)、運算符

??????? >、>=、<、<=、==、!=、===、!===

??? 2)、==和===

????? ==比較值是否相等;===比較值的同時還比較類型

3.2.4、邏輯運算符

??? &&、||、!

3.2.5、三元運算符

??? ?:

3.3、選擇結(jié)構(gòu)

3.3.1、概述

??? 選擇結(jié)構(gòu)是根據(jù)條件判斷結(jié)果來決定程序執(zhí)行流程的程序控制結(jié)構(gòu)

3.3.2、分類

??? 1)、實現(xiàn)方式

??????? if分支結(jié)構(gòu)、switch分支結(jié)構(gòu)

??? 2)、分支數(shù)量

??????? 單分支、雙分支、多分支

??? 3)、if分支語句


??? 4)、switch分支語句


??? 5)、對比

??????? 》 if語句可以用于選擇結(jié)構(gòu)中的任何情況

??????? 》 switch語句只能用于選擇結(jié)構(gòu)中的等值判斷,可讀性好一些


4、循環(huán)語句

4.1、概述

??? 循環(huán)結(jié)構(gòu)是反復(fù)執(zhí)行一系列指令直到某些特定條件滿足的程序控制結(jié)構(gòu)

4.2、循環(huán)語句

??? 1)、for

??? 2)、while

??? 3)、do...while

??? 4)、while...in

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容