JavaScript筆記

一蕾久、JavaScript基礎(chǔ)-開篇介紹

1. JavaScript的組成

  1. ECMAScript:JavaScript的語法標準
  2. DOM:JavaScript操作網(wǎng)頁上的元素的API
  3. BOM:JavaScript操作瀏覽器的部分功能的API

2. JavaScript的語法規(guī)范

  1. 行內(nèi)式:
<button onclick="alert('今天天氣很好!');">今天天氣很好!</button>
  1. 頁內(nèi)式:
 </body>
      ......
     <script type="text/javascript">
        alert("今天天氣很好寡夹!");
     </script>
 </body>
  1. 外鏈式格式:
<script type="text/javascript" src="01-js書寫格式.js"></script>

注意點:

1.<script></script>標簽中的js代碼一般寫在文檔的尾部;網(wǎng)頁是從上至下加載,如果執(zhí)行js代碼時HTML還未被加載, 那么js代碼將無法添加交互(操作元素);
2.外鏈式的script代碼塊中不能編寫js代碼, 即便寫了也不會執(zhí)行,每次加載外鏈式的js文件都會發(fā)送一次請求,推薦將多個JS文件打包成為一個JS文件,以提升網(wǎng)頁的性能和加載速度氮趋。

3. Javascript 初體驗

  1. 方式一:在網(wǎng)頁中彈出顯示框婿屹,顯示信息
  <script>
        alert("Hello积锅,JavaScript!"); 
  </script>
  1. 方式二:在控制臺輸出消息养盗,一般用來調(diào)試程序
  <script>
        console.log("Hello缚陷,JavaScript!"); 
        console.warn("警告輸出往核!"); 
        console.error("錯誤輸出箫爷!"); 
  </script>
  1. 方式三:在網(wǎng)頁中彈出輸入框,一般用于接收用戶輸入的信息
  <script>
        prompt("Hello聂儒,JavaScript虎锚!"); 
  </script>
  1. 方式四:在網(wǎng)頁中彈出提示框,顯示信息薄货,該方法一般與if判斷語句結(jié)合使用
 <script>
       comfirm("Hello翁都,JavaScript!"); 
 </script>

4. Javascript語法規(guī)范:

  1. 一行代碼結(jié)束后必須在代碼最后加上;如果不寫分號谅猾,瀏覽器會自動添加柄慰,但是會消耗一些系統(tǒng)資源;
  2. 嚴格區(qū)分大小寫的;
  3. 忽略多個空格和換行;

5. JavaScript中注釋語法

  1. // 單行注釋

  2. 多行注釋/

注意點:

  1. 單行注釋可以嵌套單行注釋税娜、多行注釋;
  2. 多行注釋可以嵌套單行注釋;
  3. 多行注釋不能嵌套多行注釋;

二坐搔、JavaScript基礎(chǔ)-變量、關(guān)鍵字敬矩、標識

1. 如何定義變量?

1)變量名稱

  var  name;  //定義一個變量
  var name, age, sex; //定義多個變量
  1. 如何進行變量初始化
      var name  =  "旋之華"; //變量賦值
      name = "劉德華"; //如何修改變量值
  1. 其它表現(xiàn)形式
  var num1, num2, num3= 100;// 部分初始化
  var num1 = num2 = num3 = 100;// 完全初始化
  console.log(num1); // undefined 控制臺查看變量的值  

2. 關(guān)鍵字和保留字

  1. 關(guān)鍵字不能用作變量名概行、函數(shù)名;

  2. 關(guān)鍵字嚴格區(qū)分大小寫, 比如:void和Void前者是關(guān)鍵字, 后者不是弧岳;

  3. 關(guān)鍵字:break do instanceof typeof case else new var ......

  4. 保留字:class enum extends super const export import ......

3. 標識:

  1. 在JS中所有的可以由我們自主命名的都可以稱為是標識符凳忙,比如變量名、函數(shù)名禽炬、屬性名都屬于標識符

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

  • 標識符中可以含有字母 涧卵、數(shù)字 、下劃線_ 腹尖、$符號
  • 標識符不能以數(shù)字開頭
  • 標識符不能是ES中的關(guān)鍵字或保留字
  • 嚴格區(qū)分大小寫柳恐,比如name和Name是2個不同的標識符
  • 標識符一般都采用駝峰命名法

三、JavaScript基礎(chǔ)—數(shù)據(jù)類型

1. 六種數(shù)據(jù)類型

  1. Number: 數(shù)字類型
      // 所有的數(shù)值都是Number類型(整數(shù)和小數(shù))
      console.log(Number.MAX_VALUE);  //最大值 
       console.log(Number.MIN_VALUE);  //最小值
      console.log(Number.MAX_VALUE + Number.MAX_VALUE); // Infinity
      console.log(typeof Infinity); // number 無窮大
      console.log(typeof -Infinity); // number 無窮小

注意點:當對數(shù)值進行計算時沒有結(jié)果返回热幔,則返回NaN乐设,浮點數(shù)的運算可能得到一個不精確的結(jié)果。

2)String: 字符集類型
字符串由單引號或雙引號括起

3)Boolean: 布爾類型
任何非零數(shù)值都是true, 包括正負無窮大, 只有0和NaN是false
任何非空字符串都是true, 只有空字符串是false
任何對象都是true, 只有null和undefined是false

4)undefined: 變量未初始化
沒有初始化和沒有聲明的變量都會返回undefined
undefined是Undefined類型的字面量

  1. null: 對象類型
    null表示的是一個空的對象

6)Arry和Object: 數(shù)組類型

2. JS中如何查看數(shù)據(jù)類型?

typeof 操作符:會將檢查的結(jié)果以字符串的形式返回給我們绎巨;

   console.log(typeof  100); // number
   var name = "旋之華";
   console.log(typeof name ); // string

3. 數(shù)據(jù)類型轉(zhuǎn)換

  1. toString():將其它類型的數(shù)據(jù)轉(zhuǎn)換為字符串類型返回,不會影響到原變量近尚。
var num = 12306;
var str= num .toString(); // string
***注意:null和undefined沒有toString()方法,如果強行調(diào)用,則會報錯***
 var num2 = undefined;
 var str2 = num2.toString(); // 報錯
 var num3 = null;
 var str3= num3.toString(); // 報錯
  1. String()函數(shù):
    某些值并沒有toString()方法场勤,這個時候可以使用String()肿男。比如:undefined和null
    任何數(shù)據(jù)和 + 連接到一起都會轉(zhuǎn)換為字符串
      var num;
       console.log(String(num)); // undefined
  1. Number()函數(shù)
    如果是純數(shù)字的字符串介汹,則直接將其轉(zhuǎn)換為數(shù)字
    如果字符串中有非數(shù)字的內(nèi)容,則轉(zhuǎn)換為NaN
    如果字符串是一個空串或者是一個全是空格的字符串舶沛,則轉(zhuǎn)換為0
    undefined轉(zhuǎn)換還為NaN, null轉(zhuǎn)換為 0
    布爾值 true 轉(zhuǎn)成 1, false 轉(zhuǎn)成 0

  2. parseInt()函數(shù)和parseFloat()函數(shù)
    取整和取浮點數(shù)

四窗价、JS基礎(chǔ)-運算符操作

1. 優(yōu)先級:() > ++ -- - ~ |>乘法如庭、除法、取模>

2. 加法運算:

  1. 非Number類型的值進行運算時撼港,會將這些值轉(zhuǎn)換為Number然后在運算
  2. 任何值和NaN做運算都得NaN
  3. 任何的值和字符串做加法運算坪它,都會先轉(zhuǎn)換為字符串,然后再和字符串做拼串的操作
var res = 100 + '123';    //100123
  1. 減法運算
字符串做減法也會轉(zhuǎn)換為Number
var res1 = 100 - '123'; //-23
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末帝牡,一起剝皮案震驚了整個濱河市往毡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌靶溜,老刑警劉巖开瞭,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異罩息,居然都是意外死亡嗤详,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門瓷炮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來葱色,“玉大人,你說我怎么就攤上這事娘香〔哉” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵烘绽,是天一觀的道長淋昭。 經(jīng)常有香客問我,道長诀姚,這世上最難降的妖魔是什么响牛? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮赫段,結(jié)果婚禮上呀打,老公的妹妹穿的比我還像新娘。我一直安慰自己糯笙,他們只是感情好贬丛,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著给涕,像睡著了一般豺憔。 火紅的嫁衣襯著肌膚如雪额获。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天恭应,我揣著相機與錄音抄邀,去河邊找鬼。 笑死昼榛,一個胖子當著我的面吹牛境肾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播胆屿,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼奥喻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了非迹?” 一聲冷哼從身側(cè)響起环鲤,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎憎兽,沒想到半個月后冷离,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡唇兑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年酒朵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扎附。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蔫耽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出留夜,到底是詐尸還是另有隱情匙铡,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布碍粥,位于F島的核電站鳖眼,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏嚼摩。R本人自食惡果不足惜钦讳,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望枕面。 院中可真熱鬧愿卒,春花似錦、人聲如沸潮秘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枕荞。三九已至柜候,卻和暖如春搞动,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背渣刷。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工鹦肿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人辅柴。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓狮惜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親碌识。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

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