js編寫位置/js基本語法/字面量和變量/標識符/數(shù)據(jù)類型/Number/Boolean/Null和Undefined/強制類型轉(zhuǎn)換/轉(zhuǎn)換為Number/其他進制的數(shù)字/轉(zhuǎn)換為Boolean/運算符

js編寫位置

可以將js代碼編寫到外部js文件中移必,然后通過script標簽引入

寫到外部文件中可以在不同的頁面中同時引用,也可以利用到瀏覽器的緩存機制

這是推薦使用的方式

script標簽一旦用于引入外部文件了佃乘,就不能再編寫代碼了这揣,即使編寫了瀏覽器也會忽略

如果需要則可以再創(chuàng)建一個新的script標簽用于編寫內(nèi)部代碼

..........................................................................................................................................................

可以將js代碼編寫到script標簽中

<script type="text/javascript">

alert("我是script標簽中的代碼1房住匀归!");

</script>

..........................................................................................................................................................

可以將js代碼編寫到標簽的onclick屬性中

當我們點擊按鈕時项鬼,js代碼才會執(zhí)行

雖然可以寫在標簽的屬性中蜻直,但是他們屬于結(jié)構(gòu)與行為耦合,不方便維護括眠,不推薦使用

..........................................................................................................................................................

可以將js代碼寫在超鏈接的href屬性中彪标,這樣當點擊超鏈接時,會執(zhí)行js代碼

js基本語法

JS注釋

多行注釋

注釋中的內(nèi)容不會被執(zhí)行掷豺,但是可以在源代碼中查看

要養(yǎng)成良好的編寫注釋的習慣捞烟,也可以通過注釋來對代碼進行一些簡單的調(diào)試

..........................................................................................................................................................

單行注釋

alert("hello");

document.write("hello");

console.log("hello");//該語句用來在控制臺輸出一個日志

..........................................................................................................................................................

1.JS中嚴格區(qū)分大小寫

2.JS中每一條語句以分號(;)結(jié)尾

- 如果不寫分號,瀏覽器會自動添加萌业,但是會消耗一些系統(tǒng)資源坷襟,

- 而且有些時候奸柬,瀏覽器會加錯分號生年,所以在開發(fā)中分號必須寫

3.JS中會忽略多個空格和換行,所以我們可以利用空格和換行對代碼進行格式化

..........................................................................................................................................................

字面量和變量

字面量(常量)廓奕,都是一些不可改變的值

比如 :1 2 3 4 5 "hello"

字面量都是可以直接使用抱婉,但是我們一般都不會直接使用字面量

變量? ? 變量可以用來保存字面量,而且變量的值是可以任意改變的

變量更加方便我們使用桌粉,所以在開發(fā)中都是通過變量去保存一個字面量蒸绩,而很少直接使用字面量

可以通過變量對字面量進行描述

x = 123456789123456789

..........................................................................................................................................................

標識符

標識符

- 在JS中所有的可以由我們自主命名的都可以稱為是標識符

- 例如:變量名、函數(shù)名铃肯、屬性名都屬于標識符

- 命名一個標識符時需要遵守如下的規(guī)則:

1.標識符中可以含有字母患亿、數(shù)字、_押逼、$

2.標識符不能以數(shù)字開頭

3.標識符不能是ES中的關(guān)鍵字或保留字

4.標識符一般都采用駝峰命名法

- 首字母小寫步藕,每個單詞的開頭字母大寫,其余字母小寫

helloWorld xxxYyyZzz

- JS底層保存標識符時實際上是采用的Unicode編碼挑格,所以理論上講咙冗,所有的utf-8中含有的內(nèi)容都可以作

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

數(shù)據(jù)類型指的就是字面量的類型

在JS中一共有六種數(shù)據(jù)類型

String 字符串

Number 數(shù)值

Boolean 布爾值

Null 空值

Undefined 未定義

Object 對象

其中String Number Boolean Null Undefined屬于基本數(shù)據(jù)類型

而Object屬于引用數(shù)據(jù)類型

...............................................................................................................................................................

String字符串

- 在JS中字符串需要使用引號引起來

- 使用雙引號或單引號都可以,但是不要混著用

- 引號不能嵌套漂彤,雙引號不能放雙引號雾消,單引號不能放單引號

..........................................................................................................................................

在字符串中我們可以使用\作為轉(zhuǎn)義字符灾搏,當表示一些特殊符號時可以使用\進行轉(zhuǎn)義

\" 表示 "

\' 表示 '

\n 表示換行

\t 制表符

\\ 表示\

...........................................................................................................................

Number

在JS中所有的數(shù)值都是Number類型,

包括整數(shù)和浮點數(shù)(小數(shù))

JS中可以表示的數(shù)字的最大值

Number.MAX_VALUE

1.7976931348623157e+308

Number.MIN_VALUE 大于0的最小值

5e-324

如果使用Number表示的數(shù)字超過了最大值立润,則會返回一個

Infinity 表示正無窮

-Infinity 表示負無窮

使用typeof檢查Infinity也會返回number

NaN 是一個特殊的數(shù)字狂窑,表示Not A Number

使用typeof檢查一個NaN也會返回number

..........................................................................................................................................................

可以使用一個運算符 typeof 來檢查一個變量的類型

語法:typeof 變量

檢查字符串時,會返回string

檢查數(shù)值時桑腮,會返回number

..........................................................................................................................................................

如果使用JS進行浮點運算蕾域,可能得到一個不精確的結(jié)果

所以千萬不要使用JS進行對精確度要求比較高的運算

....................................................................................................................................................

Boolean

Boolean 布爾值

布爾值只有兩個,主要用來做邏輯判斷

true

- 表示真

false

- 表示假

使用typeof檢查一個布爾值時到旦,會返回boolean

....................................................................................................................................................

Null和Undefined

Null(空值)類型的值只有一個旨巷,就是null

null這個值專門用來表示一個為空的對象

使用typeof檢查一個null值時,會返回object

Undefined(未定義)類型的值只有一個添忘,就undefind

當聲明一個變量采呐,但是并不給變量賦值時,它的值就是undefined

使用typeof檢查一個undefined時也會返回undefined

................................................................................................................................

強制類型轉(zhuǎn)換

強制類型轉(zhuǎn)換

- 指將一個數(shù)據(jù)類型強制轉(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()方法

- 該方法不會影響到原變量,它會將轉(zhuǎn)換的結(jié)果返回

- 但是注意:null和undefined這兩個值沒有toString()方法仲器,如果調(diào)用他們的方法煤率,會報錯

方式二:

- 調(diào)用String()函數(shù),并將被轉(zhuǎn)換的數(shù)據(jù)作為參數(shù)傳遞給函數(shù)

- 使用String()函數(shù)做強制類型轉(zhuǎn)換時乏冀,

對于Number和Boolean實際上就是調(diào)用的toString()方法

但是對于null和undefined蝶糯,就不會調(diào)用toString()方法

它會將 null 直接轉(zhuǎn)換為 "null"

將 undefined 直接轉(zhuǎn)換為 "undefined"

................................................................................................................................

轉(zhuǎn)換為Number

將其他的數(shù)據(jù)類型轉(zhuǎn)換為Number

轉(zhuǎn)換方式一:

使用Number()函數(shù)

- 字符串 --> 數(shù)字

1.如果是純數(shù)字的字符串,則直接將其轉(zhuǎn)換為數(shù)字

2.如果字符串中有非數(shù)字的內(nèi)容辆沦,則轉(zhuǎn)換為NaN

3.如果字符串是一個空串或者是一個全是空格的字符串昼捍,則轉(zhuǎn)換為0

- 布爾 --> 數(shù)字

true 轉(zhuǎn)成 1

false 轉(zhuǎn)成 0

- null --> 數(shù)字 0

- undefined --> 數(shù)字 NaN

轉(zhuǎn)換方式二:

- 這種方式專門用來對付字符串

- parseInt() 把一個字符串轉(zhuǎn)換為一個整數(shù)

- parseFloat() 把一個字符串轉(zhuǎn)換為一個浮點數(shù)

....................................................................................................................................................

其他進制的數(shù)字

在js中,如果需要表示16進制的數(shù)字肢扯,則需要以0x開頭

如果需要表示8進制的數(shù)字妒茬,則需要以0開頭

如果要要表示2進制的數(shù)字,則需要以0b開頭蔚晨,但是不是所有的瀏覽器都支持

....................................................................................................................................................

轉(zhuǎn)換為Boolean

將其他的數(shù)據(jù)類型轉(zhuǎn)換為Boolean

使用Boolean()函數(shù)

- 數(shù)字 ---> 布爾

- 除了0和NaN乍钻,其余的都是true

- 字符串 ---> 布爾

- 除了空串,其余的都是true

- null和undefined都會轉(zhuǎn)換為false

- 對象也會轉(zhuǎn)換為true

....................................................................................................................................................

運算符

運算符也叫操作符

通過運算符可以對一個或多個值進行運算,并獲取運算結(jié)果

比如:typeof就是運算符铭腕,可以來獲得一個值的類型银择,它會將該值的類型以字符串的形式返回

"number" "string" "boolean" "undefined" "object"

算數(shù)運算符

當對非Number類型的值進行運算時,會將這些值轉(zhuǎn)換為Number然后在運算

任何值和NaN做運算都得NaN

+

+可以對兩個值進行加法運算谨履,并將結(jié)果返回

如果對兩個字符串進行加法運算欢摄,則會做拼串,會將兩個字符串拼接為一個字符串笋粟,并返回

任何的值和字符串做加法運算怀挠,都會先轉(zhuǎn)換為字符串析蝴,然后再和字符串做拼串的操作

-

- 可以對兩個值進行減法運算,并將結(jié)果返回

*

* 可以對兩個值進行乘法運算

/

/ 可以對兩個值進行除法運算

%

% 取模運算(取余數(shù))

....................................................................................................................................................

任何值和字符串相加都會轉(zhuǎn)換為字符串绿淋,并做拼串操作

我們可以利用這一特點闷畸,來將一個任意的數(shù)據(jù)類型轉(zhuǎn)換為String

我們只需要為任意的數(shù)據(jù)類型 + 一個 "" 即可將其轉(zhuǎn)換為String

這是一種隱式的類型轉(zhuǎn)換,由瀏覽器自動完成吞滞,實際上它也是調(diào)用String()函數(shù)

....................................................................................................................................................

任何值做- * /運算時都會自動轉(zhuǎn)換為Number

我們可以利用這一特點做隱式的類型轉(zhuǎn)換

可以通過為一個值 -0 *1 /1來將其轉(zhuǎn)換為Number

原理和Number()函數(shù)一樣佑菩,使用起來更加簡單

....................................................................................................................................................

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市裁赠,隨后出現(xiàn)的幾起案子殿漠,更是在濱河造成了極大的恐慌,老刑警劉巖佩捞,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绞幌,死亡現(xiàn)場離奇詭異,居然都是意外死亡一忱,警方通過查閱死者的電腦和手機莲蜘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來帘营,“玉大人票渠,你說我怎么就攤上這事》移” “怎么了问顷?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長薯鼠。 經(jīng)常有香客問我择诈,道長,這世上最難降的妖魔是什么出皇? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮哗戈,結(jié)果婚禮上郊艘,老公的妹妹穿的比我還像新娘。我一直安慰自己唯咬,他們只是感情好纱注,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著胆胰,像睡著了一般狞贱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蜀涨,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天瞎嬉,我揣著相機與錄音蝎毡,去河邊找鬼。 笑死氧枣,一個胖子當著我的面吹牛沐兵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播便监,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼扎谎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了烧董?” 一聲冷哼從身側(cè)響起毁靶,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎逊移,沒想到半個月后老充,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡螟左,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年啡浊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胶背。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡巷嚣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出钳吟,到底是詐尸還是另有隱情廷粒,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布红且,位于F島的核電站坝茎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏暇番。R本人自食惡果不足惜嗤放,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望壁酬。 院中可真熱鬧次酌,春花似錦、人聲如沸舆乔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽希俩。三九已至吊宋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間颜武,已是汗流浹背璃搜。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工拖吼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腺劣。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓绿贞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親橘原。 傳聞我的和親對象是個殘疾皇子籍铁,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

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