1. 程式人生 > >進擊的JavaScript小白(一)

進擊的JavaScript小白(一)

經常有外行的朋友問我JavaScript和Java是不是一家的
在這裡插入圖片描述
JavaScript和Java的關係就像是雷鋒和雷峰塔的關係,除了名字有點像,其他的沒有任何關係,不要再問了,謝謝在這裡插入圖片描述
好了,抖完機靈,開始說正事了。

一、JavaScript的簡介

JavaScript一種解釋型(解釋型:從上往下一行一行的執行)的指令碼語言(指令碼語言:程式碼可以直接執行的、不需要編譯的語言形式),是一種動態型別(允許在程式碼執行過程中修改一個變數中的資料型別)、弱型別(不限制一個變數可以儲存的資料型別)、基於物件的語言基於原型的語言,內建支援型別。它的直譯器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的指令碼語言,最早是在HTML網頁上使用,用來給HTML網頁增加動態功能。

二、JavaScript的書寫位置

js的書寫位置一共有四種

  1. 外鏈式js寫法:推薦寫法
    <script src="tool.js"></script>``<script src="tool.js"></script>
  2. 內嵌式js寫法
    alert(100);
  3. 行內式js寫法:不推薦使用,不利於html和js的分離
    <div onclick="alert(300)">這是div</div>
  4. 使用javascript偽協議
    <a href="javascript:alert(400);">這是a標籤</a>

三、變數

1. 變數是什麼

容器,用於儲存資料。

2. 變數的作用

用於儲存資料,讓資料可以複用。
總的一句話,使用變數實際上就是使用內部儲存的資料。

3. 變數的初始化操作

先宣告,比如var num;再賦值,num = 200;也可以宣告賦值一起做var num = 200;

4. 變數的命名規則規範

① 不能以數字開頭,內部可以含有數字
② 不能使用js中的關鍵字和保留字
③ 嚴格區分大小寫
④ 開頭可以含有$和_
⑤ 建議命名有意義
⑥ 建議使用駝峰命名法

四、資料型別

1. 分類

五種基礎型別:
① 數值型別----------number
② 字串型別-------string
③ 布林型別----------boolean
④ 未賦值------------undefined
⑤ 空------------------null
複雜資料型別:object

2. 檢測方式

typeof 用來檢測資料型別的運算子。 //typeof null的結果為object,不準確
instanceof:只要在當前例項的原型鏈上,用instanceof檢測出來的結果都是true,所以在類的原型繼承中,最後檢測出來的結果未必是正確的
constructor:constructor這個屬性存在於建構函式的原型上,指向建構函式,物件可以通過__proto__在其所屬類的原型上找到這個屬性,但是有繼承的話就不準確了
Object.prototype.toString.call():是檢測資料型別最準確最常用的方式。
先獲取Object原型上的toString方法,讓方法執行,並且改變方法中的this關鍵字的指向;Object.prototype.toString 返回當前方法的執行主體(this)所屬類。
陣列型別的檢測方法和檢測結果在小白三

3. 轉換方式

在這裡插入圖片描述

五、運算子

  1. 一元運算子:參與運算的運算元只有一個,例如:num++,num–

  2. 算數運算子:+、-、*、/、%

  3. 比較運算子:>、<、>=、<=

  4. 相等運算子: == 和 != 比較資料的值,不比較型別。=== 和!== 進行全等比較

  5. 邏輯運算子:&&與,||或,!非

  6. 三元運算子:條件運算元 ? 運算元1 : 運算元2;

  7. 賦值運算子 =,+= ,-=,*=,/=,%=

    以上運算子優先順序依次遞減