JavaScript從入門到精通-學習筆記
-
必須瞭解的JavaScript知識
- 正式名稱ECMAScript
- JavaScript是一種基於物件和事件驅動並具有安全效能的指令碼語言。目的是與html和java applet一起實現在一個web頁中連結多個物件,與客戶端互動的。
- JavaScript特點:基於物件,也被看做面向物件。以事件驅動的,對使用者事前響應。具有非常高的安全性,不允許訪問本地硬碟/不能將資料存入伺服器。有跨平臺性,強依賴瀏覽器。
- 與java不同。弱變數,x=1234;y=“4321”;變數在使用前可以不宣告。在html中使用<Script></Script>,java用<applet></applet>。動態編譯。
-
程式設計規範
變數
顯示命名:var 變數名; var 變數名1, 變數名2; 隱式宣告:通過“=”宣告。變數名=22; 變數名=“123”;避免所有字母大寫 a = “URL”,因為js中不存在靜態變數。
資料型別
六種。
整型:intN = 1; 字串 strS = "sss"; 布林型 blnB = true; 空值 null; 未定義,是一種狀態與null不同;
物件:var myObject = {}
var myClass{
num:12
}
陣列:
var star = new Array();
star[0]=1;
var star = {1,2};
var star = new Array(1,2,3);
表示式
表示式1
表示式2;
操作符
in:包含在一個表示式或物件中
var myObj = { start = "a" }; if(start in myObj){ }
delete 刪除陣列元素,刪除物件的屬性
typeof 返回變數型別 。數字返回number,字元返回string,物件返回object.可以區分null和未定義
var start = {}
if(typeof(start) == "object"){}
void操作符?
資料轉換
var myString = String(100);
var myNum = Number("100");
布林值,在數字環境true為1,字串環境true為“true”
條件和迴圈控制
for...in
var start = new object;
start.name = "a";
start.type = "x";
for(var startProp in start){
alert(startProp +"="+start[startProp]);
}
函式
宣告
function func_name(parm1 , parm2){
retrun parm1;
}
可以將隱式函式賦值給變數:
func_var = function(parm1 , parm2){
retrun parm1;
}
呼叫
呼叫函式名:func_name(1,2); 呼叫變數func_var(1,2);
函式結束體後直接呼叫:
(function(parm1 , parm2){
retrun parm1;
})(parm1,parm2);
程式中有多個同名函式,位置靠後的函式自動覆蓋靠前的函式
函式可以巢狀
function fun_parent(parm1 , parm2){
function func_sub(){}
retrun parm1;
}
物件
建立物件
var star = new Object;
var star = {};
新增屬性
star.name = "aa";
顯示屬性
通過for....in..
查詢屬性
if(“Polaris” in star)
建立命名物件
star["polaris"] = new Object
star["polaris"].name = "a";
star["polaris"] = new star("a");
陣列方法:
新增元素 concat返回連結新陣列
var myArray = new Array();
myArray[0]=0;
myArray = myArray.concat(1);
join返回陣列元素組成字串
start.join(*),可以返回用*分割的
push/pop末尾新增刪除,shift/unshift頭新增或刪除
錯誤處理
try {
}catch(errorObject){
}finally{}
onerror事件:
新增到window物件
window.onerror = errorHandler;
function errorHandler(){
}t
新增到image物件