JavaScript使用方法
JavaSpript使用< script >标簽來嵌入JavaScript語言
Html中三種使用JavaScript的方法
1、内部JavaScript使用< script > < /script >标簽
屬性
- charset:字元集設定
- defer:可選執行順序,值:defer
- src:使用外部的js腳本檔案
- type:必選的屬性:值:text/javascript
2、外部JavaScript使用
< script type = “text/javascript” src = “my.js”>< /scripr >
3、内聯JavaScript處理器
- 就是将JavaScript代碼寫在HTML檔案中,如在HTML标簽中或超連結中
- < button onclick = “JavaScript語言”>< button >
- < a href = “javascript:ak=lert(‘aa’);alert(‘bb’)”>點選< /a >
JavaScript基礎文法
JavaScript的輸出
- JavaScript中沒有任何直接列印或者輸出的函數
- 若有顯示資料可以通過下面不同的方式來輸出:
- window.alert()彈出警告框
- document.write()方法将内容寫道HTML檔案中
- innerHLML寫入到HTML元素
- console.log()寫入到浏覽器控制台
- 參考示例:
變量
使用var聲明變量
var name;
變量的指派
var name; name = “zhangsan”;
同時聲明多個變量
var name,age,sex;
name = “list”;
age = 20; sex = “man”;
同時聲明多個變量并複制
var name = “wangwu”,age= “25”;
JavaScript中的資料類型
值類型(基本類型):
字元串(string)、數字(Number)、布爾(Boolean)、對空(Null)、未定義(Undefined)、Symbol
注意:Symbol是ES6引入了一種新的原始資料類型,表示獨一無二的值
- 引用資料類型: 對象(Object)數組(Array)函數(Function)
typeof操作符擷取一個變量的類型,傳回結果如下:
- undefined
- boolean
- number
- string
- object
- function
undefined和null的差別:
- null和undefined的值相等,但是類型不同
- object引用類型 引用類型通常叫做類(class),也就是說,遇到值引用,所處理的就是對象。Object對象自身用處不大,不過了解其他類之前,還是應該了解它。因為ECMAScript中的object對象與Java中的Java.lang.Object相似,ECMAScript中的所有對象都由這個對象繼承而來,Object中所有的屬性和方法都會出現在其他對象中,是以了解object對象,就可以更好的了解其他對象。
- 值類型的了解:變量之間的互相指派,就是開辟一塊新的空間,将變量值賦給新的變量儲存到新開辟的記憶體裡面;之後兩個變量變動不互相影響,例如:
- 引用類型的了解:變量之間的互相指派,隻是指針之間的交換,而并非将對象(普通對象,函數對象,數組對象)複制一份給新的變量,對象依然還是隻有一個,隻是多了一個指引:
類型轉換:
兩種轉換的形式:
- 通過使用JavaScript函數
- 通過JavaScript自身的自動轉換
參考示例:
JavaScript中的運算符:
按照操作元數的個數不同分為:一進制運算符、二進制運算符、和三元運算符
- 如一進制運算符
- delete:用于删除對象中的屬性 如:delete o.name;//删除o對象中的name屬性
- ++ - -:一進制加法和減法
指派運算符
比較運算符
邏輯運算符
條件運算符:
JavaScript也包含了可基于某些條件向變量指派的條件運算符
類型運算符:
- instanceof運算符與typeof運算符相似,用于識别正在處理的對象類型。
- 與typedef方法不同的是,instanceof方法要求開發者明确的确認對象為某特定類型。
運算符的優先級
JavaScript中的流程控制
這一部分呢和以前的語言非常的像
同樣分成了單分支、雙分支、和多分枝結構還有循環結構其中循環結構中又分為了for循環和while和do while循環
其中有一點不一樣的就是
for…in循環周遊對象
文法:for(屬性變量 in 被周遊的數組){
被執行的代碼塊
}
參考示例:
這裡可以看出for…in周遊的是對象
過程可以這樣去了解:拿到對象的每一個屬性值,然後指派給key。這裡可以通過"對象名[屬性名]"的方法來得到屬性的值就像是代碼中的ob[key]。
JavaScript中的函數
函數定義的标準格式:
JavaScript三種定義函數的方法:
- 第一種是使用function語句定義函數
-
第二種是使用Function()構造函數來定義函數(并不常用)## 标題
var 函數名 = new Function(“參數一”,“參數2”,“參數三”…函數體);
例如:var 函數名 = new Function(”x“,”y“,“var z = x+y; return z;”);
-
第三種是在表達式中定義函數
var 函數名= function(參數一,參數二,…){
函數體
}
函數的使用:
arguments對象
- 在函數代碼中,使用特殊對象arguments,開發者無需明确指出參數名,就能通路他們,
- argument是一個對象,是一個僞數組,argument[索引]---->實參的值
- 也可以通路這個值,既第一個參數的值(第一個參數位于0)
- argument.length:是實參的個數
關于變量的作用域
- 全局變量:在函數外使用var聲明的變量就是全局變量,全局變量可以在頁面的任何位置使用
- 如果不關閉頁面,那麼就不會釋放,就會占空間,消耗記憶體
- 局部變量:在函數内使用Var聲明的變量是局部變量,既出了函數外邊無法擷取
- 隐式全局變量:沒有使用var聲明的變量,就叫做隐式全局變量,在函數外可以擷取到
- 全局變量是不能夠被删除的,隐式全局變量是可以被删除的(使用delete)
- 定義變量使用var是不會被删除的,沒有var是可以删除的
- 函數外面定義的變量是全局變量,函數内可以使用。
- 在函數内沒有使用var定義的變量為隐式全局變量
- **特别注意:**在函數中是可以修改全局變量的值的
函數的傳回值:
- 如果一個函數中有retuen,那麼這個函數就有傳回值
- 如果一個函數中沒有明确的傳回值,那麼調用的時候接受了,結果就是undefined
- (函數沒有明确的傳回值:就是函數中有return但是return後面沒有任何内容)
- 函數内容執行遇到return,立即執行傳回,且下面的代碼是不會被執行的