JavaScript

一個(gè)完整的JavaScript應(yīng)由以下三個(gè)部分構(gòu)成:

ECMASctipt DOM DOM

解釋型語(yǔ)言

類(lèi)似于C和Java的語(yǔ)言結(jié)構(gòu)
動(dòng)態(tài)語(yǔ)言
基于原型的面向?qū)ο?br> ——JS代碼需要編寫(xiě)到script標(biāo)簽中

<script  type="text/javascipt">
//控制瀏覽器彈出一個(gè)警告框
alert("你是豬");
//讓計(jì)算機(jī)在頁(yè)面上輸出一個(gè)內(nèi)容·
//document.write()可以向body中輸出一個(gè)·內(nèi)容·
document.write("你看我出不出來(lái)");
//向控制臺(tái)輸出一個(gè)內(nèi)容
//console.log()的作用是向控制臺(tái)輸出一個(gè)內(nèi)容
console.log("你猜我在哪?");
</script>
<!--
script標(biāo)簽一旦用于引入外部文件了和蚪,就不能在編寫(xiě)代碼了攒霹,即使編寫(xiě)了瀏覽器也會(huì)忽略
如果需要?jiǎng)t可以在創(chuàng)建一個(gè)新的script標(biāo)簽用于編寫(xiě)內(nèi)部代碼
-->
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript">
    alert("我是內(nèi)部的js代碼");
</script>

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

在JS中所有的可以有我們自主命名的都可以稱(chēng)為標(biāo)識(shí)符
例如:變量名催束,函數(shù)名,屬性名都屬于標(biāo)識(shí)符
命名一個(gè)標(biāo)識(shí)符需要遵守如下規(guī)則:
1.標(biāo)識(shí)符中可以含有字母·塔淤,數(shù)字速妖,_.$
2.標(biāo)識(shí)符不能以數(shù)字開(kāi)頭
3.標(biāo)識(shí)符不能是ES中的關(guān)鍵字或保留字
4.標(biāo)識(shí)符一般都使用駝峰命名法
5.在字符串中可以使用\表示轉(zhuǎn)義字符
\n 表示換行

var str ="hello";
str = "我說(shuō):"今天天氣不錯(cuò)"";
str = "\";
alert("str");輸出字符串
alert(str);輸出變量

數(shù)據(jù)類(lèi)型指的是字面量的類(lèi)型

在JS中一共有6種數(shù)據(jù)類(lèi)型

String 字符串
Number 數(shù)值
Boolean 布爾值
Null 空值
Undefined 未定義
Object 對(duì)象

其中 String ,Number ,Boolean,Null , Undefined屬于基本數(shù)據(jù)類(lèi)型
而Object屬于引用數(shù)據(jù)類(lèi)型
可以使用typeof來(lái)檢查一個(gè)變量的類(lèi)型

var a= "bcd";
var b = 134;
console.log(typeof b);

NaN是一個(gè)特殊的數(shù)字
強(qiáng)制類(lèi)型轉(zhuǎn)換
只將一個(gè)數(shù)據(jù)類(lèi)型強(qiáng)制轉(zhuǎn)換為其它數(shù)據(jù)類(lèi)型
類(lèi)型轉(zhuǎn)換主要指罕容,將其他數(shù)據(jù)類(lèi)型轉(zhuǎn)換為String杀赢,Number,Boolean

將其他的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為String

<script type="text/javascript">
    /*
    將其他的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為String
    方式一:
    調(diào)用被轉(zhuǎn)換數(shù)據(jù)類(lèi)型的toSting()方法
    該方法不會(huì)影響到原變量滤淳,他會(huì)將轉(zhuǎn)換的結(jié)果返回
    注意:null和undefined這兩個(gè)值沒(méi)有toSting方法

     */
    var a = 123;
    a = a.toString();
    console.log(typeof a);
    console.log(a);
    /*
    方法二:
    調(diào)用String()函數(shù)脖咐,并將被轉(zhuǎn)換的數(shù)據(jù)作為參數(shù)傳遞給函數(shù)
    使用String()函數(shù)做強(qiáng)制類(lèi)型轉(zhuǎn)換時(shí),
    對(duì)于Number和Boolean實(shí)際上就是調(diào)用的toSting()方法
    但是對(duì)于null和underfined偿凭,就不會(huì)調(diào)用toSting()方法
    他會(huì)將null和underfined直接轉(zhuǎn)化為"null"和"underfined"
     */
    a = 456;
    a = String(a);
    console.log(typeof a);
    console.log(a);
    var b= null;
    console.log(typeof b);
    console.log(b);
</script>

將其他的數(shù)據(jù)類(lèi)型轉(zhuǎn)化為Number

 /*
    將其他的數(shù)據(jù)類(lèi)型轉(zhuǎn)化為Number
    使用Number()函數(shù)
    -字符串--> 數(shù)字
    1弯囊,如果是純數(shù)字的字符串胶果,則直接將其轉(zhuǎn)化為數(shù)字
    2,如果是字符串中有非數(shù)字的內(nèi)容霎烙,則將其轉(zhuǎn)化為NaN
    3,如果字符串是一個(gè)空串或者是一個(gè)全是空格的字符串悬垃,則轉(zhuǎn)化為0
    -布爾-->數(shù)字
    true 轉(zhuǎn)化為1
    false  轉(zhuǎn)化為  0
    -null-->   數(shù)字  0
    - underfined-->   數(shù)字NaN
     */
    var c = "789";
    c = Number(c);
    console.log(typeof c);
    console.log(c);
    c = "78a";
    c = Number(c);
    console.log(typeof c);
    console.log(c);
    c = null;
    c = Number(c);
    console.log(typeof c);
    console.log(c);
    c = true;
    c = Number(c);
    console.log(typeof c);
    console.log(c);
//調(diào)用parseInt()函數(shù)將a轉(zhuǎn)化為Number
    /*
    parseInt()可以將一個(gè)字符串中的有效整數(shù)取出來(lái)
    然后轉(zhuǎn)化為Number
     */
    c = "123fj";
    c = parseInt(c);
    console.log(typeof c);
    console.log(c);
    /*
    parseFloat()作用和parseInt()類(lèi)似尝蠕,不同的是它可以獲得有效的小數(shù)
     */
    c ="123.456fj";
    c = parseFloat(c);
    console.log(typeof c);
    console.log(c);

進(jìn)制轉(zhuǎn)化

/*
        在JS中羊赵,如果需要表示16進(jìn)制的數(shù)字,則需要0x開(kāi)頭
        如果需要表示8進(jìn)制的數(shù)字昧捷,則需要0開(kāi)頭
         */
    //16進(jìn)制
    a = 0x10;
    //8進(jìn)制
    a = 070;
    console.log(a);

將其他的數(shù)據(jù)類(lèi)型轉(zhuǎn)化為Boolean

使用Boolean()函數(shù)

 /*
    將其他的數(shù)據(jù)類(lèi)型轉(zhuǎn)化為Boolean
    -使用Boolean()函數(shù)

    -數(shù)字-->布爾
    除了0和NaN闲昭,其余的都是true

    - 字符串-->布爾
      除了空串,其余的都是true
      -null 和 underfined都會(huì)轉(zhuǎn)化為 false

      對(duì)象也會(huì)轉(zhuǎn)化為true
     */
    var a = 123;//true
    a = -123;//true
    a = 0;//false
    a = Infinity;//true
    a = NaN;//false
    a = Boolean(a);
    a = "";
    a = Boolean(a);
    a = null;
    a = Boolean(a);
    console.log(typeof a);
    console.log(a);

自增和自減

自增分成兩種:后++(a++)和前++(++a)
無(wú)論是a++還是++a靡挥,都會(huì)立即使原變量的值自增1序矩;
不同的是a++和++a的值不同;
a++的值等于原變量的值(自增前的值)
++a的值等于圓水泥變量的新值(自增后的值)

三種邏輯運(yùn)算符

跋破!非
所謂非運(yùn)算就是對(duì)一個(gè)布爾值值進(jìn)行取反操作
&&與

||或

條件運(yùn)算符

條件運(yùn)算符也叫三元運(yùn)算符
語(yǔ)法:
條件表達(dá)式簸淀?語(yǔ)句1:語(yǔ)句2;
執(zhí)行的流程:
條件運(yùn)算符在執(zhí)行時(shí)毒返,首先對(duì)條件表達(dá)式進(jìn)行求值租幕,
如果該值為true拧簸,則執(zhí)行語(yǔ)句1劲绪,并返回知心話(huà)結(jié)果;
如果該值為false,則執(zhí)行語(yǔ)句2贾富,并返回知心話(huà)結(jié)果歉眷;

  true?alert("語(yǔ)句1"):alert("語(yǔ)句2");
    false?alert("語(yǔ)句1"):alert("語(yǔ)句2");
//獲取a b c中的最大值
 var a = 10;
    var b = 20;
var c = 30;
    //a>b ? alert("a大"):alert("b大");
    var max = a > b ? a : b ;
    max = max > c ? max : c ;
//不推薦
// var max = a > b ? (a > c ? a : c ) : (b > c ? b  : c );
    console.log("max = "+ max);

優(yōu)先級(jí)

在JS中運(yùn)算符也有優(yōu)先級(jí)

在JS中有一個(gè)運(yùn)算符優(yōu)先級(jí)的表
表中越靠上優(yōu)先級(jí)越高
優(yōu)先級(jí)一樣從左往右

圖片.png

代碼塊

JS種的代碼塊中有分組的作用翻翩,沒(méi)有其他用途

流程控制語(yǔ)句

按順序從上往下依次執(zhí)行

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末市咆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子脸侥,更是在濱河造成了極大的恐慌畏纲,老刑警劉巖扇住,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異霍骄,居然都是意外死亡台囱,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)读整,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人咱娶,你說(shuō)我怎么就攤上這事米间。” “怎么了膘侮?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵屈糊,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我琼了,道長(zhǎng)逻锐,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任雕薪,我火速辦了婚禮昧诱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘所袁。我一直安慰自己盏档,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布燥爷。 她就那樣靜靜地躺著蜈亩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪前翎。 梳的紋絲不亂的頭發(fā)上稚配,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音港华,去河邊找鬼道川。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的愤惰。 我是一名探鬼主播苇经,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼宦言!你這毒婦竟也來(lái)了扇单?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤奠旺,失蹤者是張志新(化名)和其女友劉穎蜘澜,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體响疚,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鄙信,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了忿晕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片装诡。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖践盼,靈堂內(nèi)的尸體忽然破棺而出鸦采,到底是詐尸還是另有隱情,我是刑警寧澤咕幻,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布渔伯,位于F島的核電站,受9級(jí)特大地震影響肄程,放射性物質(zhì)發(fā)生泄漏锣吼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一蓝厌、第九天 我趴在偏房一處隱蔽的房頂上張望玄叠。 院中可真熱鬧,春花似錦褂始、人聲如沸诸典。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)狐粱。三九已至,卻和暖如春胆数,著一層夾襖步出監(jiān)牢的瞬間肌蜻,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工必尼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蒋搜,地道東北人篡撵。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像豆挽,于是被迫代替她去往敵國(guó)和親育谬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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