JS基礎(chǔ)理論

特點(diǎn)

js的特點(diǎn)

  • 解釋型語(yǔ)言
    類似于C和JAVA的語(yǔ)法結(jié)構(gòu)
    動(dòng)態(tài)語(yǔ)言
    基于原型的面向?qū)ο?br> js的編寫位置
    可以將js代碼編寫到外部js文件中,然后通過(guò)script標(biāo)簽引入,寫到外部文件中可以在不同的頁(yè)面中同時(shí)引用,也可以利用到瀏覽器的緩存機(jī)制,這是推薦使用的方式
    script標(biāo)簽一旦用于引入外部文件了,就不能再編寫代碼了,即使編寫了瀏覽器也會(huì)忽略,如果需要?jiǎng)t可以再創(chuàng)建一個(gè)新的script標(biāo)簽用于編寫內(nèi)部代碼
    可以將js代碼編寫到標(biāo)簽的onclick屬性中,當(dāng)我們點(diǎn)擊按鈕時(shí),js代碼才會(huì)執(zhí)行,雖然可以寫在標(biāo)簽的屬性中,但是他們屬于結(jié)構(gòu)與行為耦合,不方便維護(hù),不推薦使用
    可以將js代碼寫在超鏈接的href屬性中,這樣當(dāng)點(diǎn)擊超鏈接時(shí),會(huì)執(zhí)行js代碼

js的注釋

多行注釋

注釋中的內(nèi)容不會(huì)被執(zhí)行,但是可以在源代碼中查看,要養(yǎng)成良好的編寫注釋的習(xí)慣,也可以通過(guò)注釋來(lái)對(duì)代碼進(jìn)行一些簡(jiǎn)單的調(diào)試
js中嚴(yán)格區(qū)分大小寫
js中每一條語(yǔ)句以分號(hào)(;)結(jié)尾
如果不寫分號(hào),瀏覽器會(huì)自動(dòng)添加,但是會(huì)小號(hào)一些系統(tǒng)資源
而且有些時(shí)候,瀏覽器會(huì)加錯(cuò)分號(hào),所以在開發(fā)中分號(hào)必須寫
js中會(huì)忽略多個(gè)空格和換行,所以我們可以利用空格和換行對(duì)代碼進(jìn)行格式化
字面量和變量
字面量(常量),都是一些不可改變的值 比如:1 2 3 4 5 “hello”,字面量都是可以直接使用,但是我們一般都不會(huì)直接使用字面量
變量 可以用來(lái)保存字面量,而且變量的值是可以任意改變的,變量更加方便我們使用,所以在開發(fā)中都是通過(guò)變量去保存一個(gè)字面量,可以通過(guò)變量對(duì)字面量進(jìn)行描述,在js中使用var關(guān)鍵字來(lái)聲明一個(gè)變量

標(biāo)識(shí)符

在js中所有的可以由我們自主命名的都可以稱為是標(biāo)識(shí)符,例如:變量名、函數(shù)命、屬性名都屬于標(biāo)識(shí)符
命名一個(gè)標(biāo)識(shí)符時(shí)需要遵守如下的規(guī)則:

  • 標(biāo)識(shí)符中可以含有字母、數(shù)字、_、$
  • 標(biāo)識(shí)符不能以數(shù)字開頭
  • 標(biāo)識(shí)符不能時(shí)ES中的關(guān)鍵字或保留字
  • 標(biāo)識(shí)符一般都采用駝峰命名法
    js底層保存標(biāo)識(shí)符時(shí)實(shí)際上時(shí)采用的Unicode編碼,所以理論上講, 所有的utf-8中含有的內(nèi)容都可以作為標(biāo)識(shí)符
    數(shù)據(jù)類型
    在js中一共由六種數(shù)據(jù)類型
  • string 字符串
  • number 數(shù)值
  • boolean 布爾值
  • null 空值
  • undefined 未定義
  • object 對(duì)象
    其中string number boolean null undefined 屬于基本數(shù)據(jù)類型而object屬于引用數(shù)據(jù)類型
    string 字符串
    在js中字符串需要使用引號(hào)引起來(lái)
    使用雙引號(hào)或單引號(hào)都可以,但是不要混著用
    引號(hào)不能嵌套,雙引號(hào)不能放雙引號(hào),單引號(hào)不能放單引號(hào)
    在字符串中我們可以使用\作為轉(zhuǎn)義字符,當(dāng)表示一些特殊符號(hào)時(shí)可以使用\進(jìn)行轉(zhuǎn)義 例如:\“表示 ” \‘表示’ \n表示換行 \t制表符 \表示
    number 數(shù)值
    在JS中所有的數(shù)值都是Number類型,包括整數(shù)和浮點(diǎn)數(shù)(小數(shù))
    JS中可以表示的數(shù)字的最大值
    Number.MAX_VALUE
    1.7976931348623157e+308
    Number.MIN_VALUE 大于0的最小值5e-324
    如果使用Number表示的數(shù)字超過(guò)了最大值,則會(huì)返回一個(gè)Infinity 表示正無(wú)窮,-Infinity 表示負(fù)無(wú)窮,使用typeof檢查Infinity也會(huì)返回number,NaN 是一個(gè)特殊的數(shù)字,表示Not A Number,使用typeof檢查一個(gè)NaN也會(huì)返回number
    可以使用一個(gè)運(yùn)算符typeof來(lái)檢查一個(gè)變量的類型,語(yǔ)法:typeof變量
    boolean 布爾值
    布爾值只有兩個(gè),主要用來(lái)做邏輯判斷
    true 表示真
    false 表示假
    使用typeof檢查一個(gè)布爾值時(shí),會(huì)返回boolean
    null 空值和undefined 未定義
    null類型的值只有一個(gè),就是null
    null這個(gè)值專門用來(lái)表示一個(gè)為空的對(duì)象,使用typeof檢查一個(gè)null值時(shí),會(huì)返回object
    undefined類型的值只有一個(gè),就是undefind
    當(dāng)聲明一個(gè)變量,但是并不給變量賦值時(shí),它的值就是undefined,使用typeof檢查一個(gè)undefined時(shí)也會(huì)返回undefined
    強(qiáng)制類型轉(zhuǎn)換
    值將一個(gè)數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換為其他的數(shù)據(jù)類型,類型轉(zhuǎn)換主要指,將其他的數(shù)據(jù)類型,轉(zhuǎn)換為string number boolean
    將其他的數(shù)據(jù)類型轉(zhuǎn)換為String
    方式一:
    調(diào)用被轉(zhuǎn)換數(shù)據(jù)類型的toString()方法
    該方法不會(huì)影響到原變量,它會(huì)將轉(zhuǎn)換的結(jié)果返回
    但是注意:null和undefined這兩個(gè)值沒(méi)有toString()方法,如果調(diào)用他們的方法,會(huì)報(bào)錯(cuò)
    方式二:
    調(diào)用String()函數(shù),并將被轉(zhuǎn)換的數(shù)據(jù)作為參數(shù)傳遞給函數(shù)
    使用String()函數(shù)做強(qiáng)制類型轉(zhuǎn)換時(shí),
    對(duì)于Number和Boolean實(shí)際上就是調(diào)用的toString()方法
    但是對(duì)于null和undefined,就不會(huì)調(diào)用toString()方法
    它會(huì)將 null 直接轉(zhuǎn)換為 “null”
    將 undefined 直接轉(zhuǎn)換為 “undefined”
    將其他的數(shù)據(jù)類型轉(zhuǎn)換為number
    方式一:
    使用Number()函數(shù)
    字符串 --> 數(shù)字
    如果是純數(shù)字的字符串,則直接將其轉(zhuǎn)換為數(shù)字
    如果字符串中有非數(shù)字的內(nèi)容,則轉(zhuǎn)換為NaN
    如果字符串是一個(gè)空串或者是一個(gè)全是空格的字符串,則轉(zhuǎn)換為0
    布爾 --> 數(shù)字
    true 轉(zhuǎn)成 1
    false 轉(zhuǎn)成 0
    null --> 數(shù)字 0
    undefined --> 數(shù)字 NaN
    方式二:
    這種方式專門用來(lái)對(duì)付字符串
    parseInt() 把一個(gè)字符串轉(zhuǎn)換為一個(gè)整數(shù)
    parseFloat() 把一個(gè)字符串轉(zhuǎn)換為一個(gè)浮點(diǎn)數(shù)
    轉(zhuǎn)換為boolean
    將其他的數(shù)據(jù)類型轉(zhuǎn)換為boolean
    使用Boolean()函數(shù)
    數(shù)字 —> 布爾
    除了0和NaN,其余的都是true
    字符串 —> 布爾
  • 除了空串,其余的都是true
  • null和undefined都會(huì)轉(zhuǎn)換為false
  • 對(duì)象也會(huì)轉(zhuǎn)換為true
    其他進(jìn)制的數(shù)字
    在js中,如果需要表示16進(jìn)制的數(shù)字,則需要以0x開頭
    如果需要表示8進(jìn)制的數(shù)字,則需要以0開頭
    如果要要表示2進(jìn)制的數(shù)字,則需要以0b開頭,但是不是所有的瀏覽器都支持
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 運(yùn)算符 運(yùn)算符也叫操作符 通過(guò)運(yùn)算符可以對(duì)一個(gè)或多個(gè)值進(jìn)行運(yùn)算,并獲取運(yùn)算結(jié)果 比如:typeof就是運(yùn)算符,可以...
    冷暖自知_2237閱讀 225評(píng)論 0 0
  • 第一章 前端三大語(yǔ)言:HTML(專門編寫網(wǎng)頁(yè)內(nèi)容)、CSS(編寫網(wǎng)頁(yè)樣式)、JS(專門編寫網(wǎng)頁(yè)交互行為) 能簡(jiǎn)寫盡...
    fastwe閱讀 1,201評(píng)論 0 0
  • 第3章 基本概念 3.1 語(yǔ)法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡(jiǎn)單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,527評(píng)論 0 21
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,855評(píng)論 0 3
  • 9.正則表達(dá)式 首先,js定義了RegExp()構(gòu)造函數(shù),用來(lái)創(chuàng)建表示文本匹配模式的對(duì)象。這就是正則表達(dá)式。正則表...
    我就是z閱讀 814評(píng)論 0 5

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