JavaScript學習筆記(上)
JavaSpcript(上)
JavaSpcript是基於物件和事件驅動的指令碼語言,也是非嚴謹性語音。主要應用在客戶端。
JavaSpcript與Html相結合的方式:
1、將JavaScript程式碼封裝到<script>
標籤
< script type="text/javascript" >
...
</script>
2、將 JavaSpcript程式碼封裝到js檔案中,並通過<script>
中的src屬性進行匯入
< script type="text/javascript" src="">
注意:如果<script>
標籤中使用src屬性,那麼該標籤中封裝的 JavaSpcript程式碼不會被執行。所以通常匯入js檔案都是用單獨<script>
來完成
語法
通常高階程式設計語言所包含的語法內容:
1、關鍵字:該種語言中被賦予了特殊含義的單詞。
2、識別符號:用於標識資料跟表示式的符號。通常可以理解為在程式中自定義的名稱。如變數名,函式名。
3、註釋:註解說明解釋程式,用於除錯程式
4、變數:用於標識記憶體中一片空間。用於儲存資料,該空間中的資料是可以變化的。當資料不確定時用變數。
5、運算子:可以讓資料進行運算的符號。
6、語句:用於對程式的執行流程進行控制的表示式。
7、函式:用於對功能程式碼進行封裝,便於提高複用性。
8、陣列:對多資料進行儲存,便於操作,也就是容器。
9、物件:只要是基於物件或者面向物件的語音,就存在物件的概念,物件就是一個封裝體。既可以封裝資料又可以封裝函式。
- js中定義變數
關鍵字:var(注意,單引號和雙引號均為字串,可互相巢狀)
var x=3;
- 算術運算子細節:
“12”+1 = 121
“12”-1 = 11
true + 1 = 2
js中 false就是0或null,否則為 true(預設為 1) - 邏輯運算子細節(!、&&、||)
&與&&:&顯示的是0或1、&&顯示false或true - 位運算子(&、|、^)
- 小細節:
1、undefined:未定義,其實就是一個常量
2、獲取具體值的型別,可以通過typeof()來完成 - 選擇語句(switch)
無論default與case位置如何,總是先執行第一個case,最後執行default。 - 將資料直接寫在當前頁中
使用文件物件:document,其有若干內建方法
例:
document.write("<font color='red'>x="+x+"</font><br/>);
或:
document.write("<font color='red'>");
document.write("x="+x+"<br/>");
document.write("</font>");
- 陣列
特點:
1、長度是可變的,不存在越界。
2、元素的型別是任意的
js中的陣列定義的兩種方式
1、var arr = [];
var arr = [1,2,3];
2、使用js中的Array物件來完成定義。
var arr = new Array(); //var arr = [];
var arr = new Arraay(5); //陣列定義並長度是5
var arr = new Array(5,6,7); //定義一個數組,元素是5,6,7。
- 字典
var map = {
1:"xiaoqiang",name:"zhangsan"
}
//使用
1、map["name"];
2、map[1];
3、map.name;(鍵為數字時不可用)
- 函式
1、一般函式
格式:
function 函式名(形式引數(不用寫型別)...)
{
執行語句;
return 返回值;
}
注意:
1)呼叫有引數的函式,但沒有給其傳值,函式一樣可以執行;或者呼叫沒有引數的函式,給其傳值,該函式也可以執行。只要寫了函式名後面跟了一對小括號,該函式就會執行.
2)函式中有一個數組在對傳入的引數進行儲存,這個陣列是arguments,因此傳入多引數時也能執行
3)
var sum=getSum();
getSum函式執行,並將結果賦值給sum
var sum = getSum;
getSum本身是一個函式名,而函式本身在js中是一個物件。getSum就是這個函式物件的引用。將getSum這個引用的地址賦值給sum,這時sum也指向了這個函式物件。相當於這個函式物件有兩個函式名。若列印函式名,則會將該函式物件的字串形式打印出來。
2、動態函式
使用的是js中內建的一個物件Function。引數列表和函式體都是通過字串動態指定的
var add=new Function("x,y","var sum;sum=x+y; return sum;);
var sum = add(4,8);
3、匿名函式
沒有名字的函式,通常是函式的簡寫形式。
var add = function (a,b){
return a+b;
}
注意:當陣列變數以實參的方式傳入函式,並被函式所改變,則該變數也會隨著改變
- 全域性和區域性變數
-全域性變數
如果在當前標籤下定義了一個變數,即使是在for迴圈內定義,其在該指令碼頁面內均有效。
-區域性變數
在函式內定義的變數僅在函式內部有效