JavaScript第一天

快捷鍵:win+v查看剪切板 ;Ctrl+右箭頭 跳過一個(gè)單詞;Ctrl+回車 換行

一、JavaScript介紹

 通常是運(yùn)行在瀏覽器的編程語言
 可以實(shí)現(xiàn)人機(jī)交互效果,提供邏輯思維能力
作用:
   服務(wù)端編程、數(shù)據(jù)交互(獲取后端數(shù)據(jù)、渲染到前端)、表單驗(yàn)證、網(wǎng)頁特效(動(dòng)畫效果)、監(jiān)聽用戶行為

(A)組成

(一)ECMAscript(規(guī)范|規(guī)則)

規(guī)定了js基礎(chǔ)語法核心知識(shí):語言法律
例如:創(chuàng)建變量、分支語句、循環(huán)語句、對象等

(二)Web APIs(網(wǎng)頁應(yīng)用接口 | 可操作的實(shí)體對象)
(1)DOM:document object model

文檔對象模型
實(shí)體化了一個(gè)對象叫document,整個(gè)HTML頁面就是一個(gè)文檔

(2)BOM:browser object model

操作瀏覽器
實(shí)體化了一個(gè)瀏覽器window對象,整個(gè)網(wǎng)頁

(B)、JavaScript書寫位置

  內(nèi)聯(lián)(行內(nèi)樣式)、內(nèi)部、外部
內(nèi)聯(lián)樣式.png
內(nèi)部樣式:應(yīng)該寫在</body>標(biāo)簽上面。(瀏覽器從上至下逐行解析代碼)

因?yàn)閖s可以去控制元素,所以應(yīng)該寫在所有的HTML標(biāo)簽元素之后

外部樣式:通過src引入HTML頁面中

但是<script>標(biāo)簽不要寫內(nèi)容,會(huì)被忽略

(C)、JavaScript注釋

1、單行注釋
符號(hào)://
快捷鍵:ctrl+/
2、塊注釋
符號(hào):/* */

(3)、JavaScript結(jié)束符

1、結(jié)束符

■ 代表語句結(jié)束
■ 英文分號(hào) ;
■ 分號(hào)可寫可不寫,要么都寫,要么都不寫,建議寫分號(hào)
換行符(回車)會(huì)被識(shí)別為結(jié)束符

(D)、JavaScript輸入輸出法

alert()和prompt()會(huì)阻塞主線程

1、輸出方式
  ■ alert(要彈出的內(nèi)容);里面不可以寫多個(gè)
  ■ document.write("要輸出的內(nèi)容");可以寫多個(gè)
  ■ console.log('控制臺(tái)打印');console控制臺(tái).log日志方法,可以寫多個(gè)
2、輸入
  ■ prompt('提示文字');

二、變量

  變量是計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)的容器(盒子)|  是內(nèi)存中的地址空間

(A)變量聲明方式

  1、語法: let關(guān)鍵字  變量名
  2、變量賦值:變量名 = 數(shù)據(jù)
  3、變量值的修改:變量名 = 數(shù)據(jù)
  4、聲明多個(gè)變量:let age = 18,uname  = '劉亦菲';中間以逗號(hào)隔開

注意:
(1)聲明變量的同時(shí)可以進(jìn)行賦值,例如:let age = 18;
(2)變量名不能重復(fù)
(3)名詞解釋:
關(guān)鍵字:系統(tǒng)內(nèi)部已經(jīng)定義好的詞匯,
字面量:字面上,所見即所得的 一個(gè)數(shù)據(jù)

(B)變量本質(zhì)

內(nèi)存:計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)的地方,相對于一個(gè)大空間
變量程序在內(nèi)存中申請的一塊用來存數(shù)據(jù)的小空間(內(nèi)存中的一個(gè)地址空間

(C)變量名命名規(guī)范與規(guī)則

1、規(guī)則
  ▲ 不能使用關(guān)鍵字
  ▲ 特殊字符:_下劃線和$
  ▲ 不能以數(shù)字開頭
  ▲ 可以有數(shù)字、字母
2、規(guī)范
  ▲ 起名要有意義
  ▲  遵循小駝峰命名法
小駝峰.png

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

js數(shù)據(jù)類型分為兩大類:
基本數(shù)據(jù)類型(簡單數(shù)據(jù)類型),引用數(shù)字類型(復(fù)雜數(shù)字類型)


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

(一)基本數(shù)據(jù)類型

1、數(shù)字類型number

   整數(shù)、小數(shù)、負(fù)數(shù)

2、字符串string

   單引號(hào)' '   、雙引號(hào)" "    、反引號(hào) `` (esc鍵下面)

△ 必須成對使用
△ 單雙引號(hào)可以互相嵌套使用,前提是必須交替使用
△ 自己嵌套自己時(shí),必須使用轉(zhuǎn)義符號(hào)‘\’
△ 反引號(hào)中間可以直接用回車的

3、拼接字符串string

語法:字符串+字符串
數(shù)據(jù)${變量}
模板字符串

模板字符串.png

4、布爾類型(boolean)

true 真 false 假
用來判斷

5、未定義(undefined)

沒有初始化,沒有開辟內(nèi)存空間

聲明變量但是未賦值
未定義類型.png

檢測開發(fā)場景,通過值是否是undefined來判斷傳遞過來了沒

6、null (空類型)

賦值了,初始化了,只是值叫做空
代表empty變量為 空數(shù)據(jù)

(二)檢測數(shù)據(jù)類型

1、JS是弱數(shù)據(jù)類型 ,變量到底屬于那種類型,只有賦值之后,我們才能確認(rèn)
JavaScript是強(qiáng)數(shù)據(jù)類型,例如 int a = 3 必須是整數(shù)
02、通過typeof 關(guān)鍵字 來檢測變量類型
3、通過控制臺(tái)顏色看,可以看出數(shù)字型和布爾型顏色為藍(lán)色,字符串和undefined顏色為灰色

(三)類型轉(zhuǎn)換

使用表單、prompt獲取來的數(shù)據(jù)默認(rèn)是字符串類型的

1、隱式轉(zhuǎn)化
  系統(tǒng)內(nèi)部自動(dòng)的進(jìn)行類型轉(zhuǎn)化

規(guī)則:
1、+ 號(hào)兩邊只要有一個(gè)是字符串,都會(huì)把另外一個(gè)轉(zhuǎn)成字符串;

2、除了+以外的算術(shù)運(yùn)算符 比如 - * / 等都會(huì)把數(shù)據(jù)轉(zhuǎn)成數(shù)字類型。
隱式轉(zhuǎn)換.png
2、顯式轉(zhuǎn)化
 //1、Number(數(shù)據(jù))
console.log(Number("123"));
// 1.1 當(dāng)數(shù)據(jù)不能轉(zhuǎn)化為數(shù)字的時(shí)候,會(huì)返回NaN,not a number
console.log(Number("abc"));
// 1.2 NaN是一個(gè)數(shù)字類型
console.log(typeof Number("abc"));
// 2、parseInt(數(shù)據(jù))
// 作用:解析為 整數(shù)
console.log(parseInt("1.23"));
// 3、parseFloat(數(shù)據(jù))
// 作用:可以保留小數(shù)點(diǎn)
console.log(parseFloat("1.233"));
轉(zhuǎn)換為字符型:
String(數(shù)據(jù))、變量.toString(進(jìn)制)
     // 字符串轉(zhuǎn)化
    // 1.string(數(shù)據(jù))
    console.log(String("321"));
    console.log(String(123));
    console.log(String(true));
    console.log(String(undefined));
    console.log(String(null));
    // 2.變量.toString(進(jìn)制);進(jìn)制不寫,默認(rèn)為十進(jìn)制
    // 需要一個(gè)變量
    // 數(shù)字.toString() 會(huì)報(bào)錯(cuò),需要變量
    let a = 123;
    console.log(a.toString());
補(bǔ)充知識(shí):

parseInt() parseFloat()
【parse解析的意思: 只要傳入的數(shù)據(jù)是以數(shù)字開頭的,就能解析成功,返回值為第一個(gè)數(shù)字直到碰到非數(shù)值為止; 比如 parseInt("123aa") ;返回 123】
Number() : 不能解析,有非數(shù)字就返回NaN

四、常見錯(cuò)誤

  1、Uncaught ReferenceError: age is not defined( age變量沒有定義過)
  2、Uncaught SyntaxError: Identifier 'age' has already been declared (提示 “age”已經(jīng)聲明)
  3、Uncaught SyntaxError: missing ) after argument list (提示 參數(shù)少了 ))
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • JS的理解基于事件,基于用戶操作。 JS的組成三個(gè)部分: 網(wǎng)頁的組成:HTML+css+JSEcmascript:...
    入院小雜閱讀 222評論 0 0
  • 簡介 JavaScript 是世界上最流行的語言之一,是一種運(yùn)行在客戶端的腳本語言 (Script 是腳本的意思)...
    wangylll閱讀 116評論 0 0
  • 簡介 JavaScript 是世界上最流行的語言之一,是一種運(yùn)行在客戶端的腳本語言 (Script 是腳本的意思)...
    淺瞳_e42e閱讀 157評論 0 0
  • 簡介 JavaScript 是世界上最流行的語言之一,是一種運(yùn)行在客戶端的腳本語言 (Script 是腳本的意思)...
    __method__閱讀 589評論 0 5
  • 簡介 JavaScript 是世界上最流行的語言之一,是一種運(yùn)行在客戶端的腳本語言 (Script 是腳本的意思)...
    王希杰閱讀 92評論 0 0

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