傳智播客javascript視訊教程(楊中科)學習筆記
這套視訊僅僅講述了JS的除錯,引用,array,和for迴圈的知識。非常的基礎,很多其他內容沒有涉及到。拿出一天來學習足以。
以下是這套視訊的下載地址,共十八級:
http://www.itcast.cn/news/bd4612c7/a940/4585/9153/487bbcc7fcd3.shtml
由於沒有下載到課件,便把視訊中的知識點一一寫了下來,如下:
第一集 javascript簡介
1什麼是javascript
Html沒有計算和判斷能力,有時要求能在瀏覽器進行一些簡單的運算和判斷。Javascript就是一種在瀏覽器端執行的語言。
2來源
和java沒直接的聯絡,它只是吸收了java的一些特性。
3本質
Javascript是解釋性語言,無需變異就可以隨時執行,這樣哪怕語法有錯誤,沒有語法錯誤的部分還是能正確執行。
注:c#可以用csc.exe來進行編譯。
第二集 JS入門1
1開發環境
VS2010中可以直接開發;VS2008需要安裝VS2008SP1和VS90SP1-KB958502-X86
2關於“.”
JS並不像C#那麼嚴謹,“.”不出來的也許能用,“.“出來的不一定能用
3<script type=”text/javascript”/>標籤
將js語句放在次標籤中。
4 alert()
相當於c#中的messagebox()
如alert(new Date().tolocalstring());
5 放到head中的<script>在body載入之前就被執行了。
第三集引用外部JS檔案
1建立一個common.js檔案
檔案中直接寫js程式碼
2引用
在html的head標籤中寫入
<script src=”common.js”type=”text/javascript”/>
第四集事件
1 超連結(HTML)
<a href=”javascript:alert(‘hello’)”>點一下</script>
點選此超連結時,自動執行了js的函式alert;注意alert輸入是單引號,這樣很方便書寫。
注:thunder://迅雷、qq://騰訊、ftp”//是ftp、ed2k://電驢;我們也可以自己自定義一個頭。
2超連結事件
<a href=”1.htm”onclick=”alert(‘hello’)”>點一下</a>
3button事件
<input type=”button” value=”點”onclick=”alert(‘點我’)”/>
第五集JS變數
1 JS既可以用雙引號宣告字串,也可以用單引號
2 js中有null/undefined兩種,都表示一個變數為空,初學者先不管兩者區別。
3 JS是若型別語言,因此int i=0是錯的;只能通過vari=0;指向int後,一會兒還可以給i指定為其他資料型別,嫁雞隨雞嫁狗隨狗;這區別於c#
第六集 JS的除錯
1 js有錯誤後,ie左下角有黃色‘!’標誌
2 將所在html頁面設定為起始頁,然後打斷點;點選啟動便可以除錯了。
3注意在internet選項-高階-禁用指令碼提示取消。
第七集JS判斷變數初始化
1 var x;
If(x==null)…
2 if(typeof(x)==”undefined”)…
3 if(!x)….//如果x為空,則!X為true;如果x為false,則!X也為true
第八集函式的宣告
1 格式:
Function 函式名(引數1,引數2)//不需要標記引數型別
{ 。。。}
如:function add(i1,i2){
return i1+i2;
}
推薦使用上面的格式,即大括號{與函式頭在一行。
2 jS裡不要求函式”所有路徑都需要返回值“。
第九集匿名函式(類似c#中的匿名函式)
1用法:
Var f1=function(i1,i2){
Return i1+i2;
}
Alert(f1(1,2));
2類似於c#中的匿名函式
3 甚至可以這樣用:
Alert(
function(i1,i2){
Return i1+i2;
}(1,2)
);
第十集JS面向物件初步
1JS沒有定義類的語法
2用函式閉包模擬類。
3例如:
Function Person(name,age){
This.Name=name;//不必再定義一個Name變量了。
This.Age=age;
This.sayhello=function(){alert(this.Name)};
}
Var p1=new Person(“tom”,30);//在JS中,方法就可以當做“類“來使用了,JS是沒有類的。
P1 .sayhello();
4 還可以在方法外面動態增加屬性,如上例中的Person方法:
P1.Gender=”男”;
即例項化Person為P1後,可以為P1增加一個屬性Gender;
第十一集 Array物件
1 JS中的陣列是一個動態大小的,可以隨時加成員
2 用法:
Var names=new Array();
Names[0]=”ss”;
Names[1]=”ee”;
3遍歷陣列
For(var i=0;i<arr.length;i++){
Alert(names[i]);
}
第十二集 Array聯絡1求最大值
Function GetMax(arr){
Var max=arr[0];
For(var i=0;i<var.length;i++){
If(arr[i]>max){
Max=arr[i];
}
}
Return max;
}
第十三集array練習2陣列反轉
將一個字元陣列次序反轉。注意不要使用JS中的反轉函式。
Function MYreverse(arr){
For(int i=0;i<arr .length/2;i++){
Var temp=arr[i];
Arr[i]=arr[arr.length-i-1];
Arr[arr.length-i-1]=temp;
}
Return arr;
}
第十四集array練習3 陣列變字串用’|’隔開
Function myjoin(arr){
If(arr .length<=0){
Return ;
}
Var s=arr[0];
For(var i=1;i<arr.length;i++){
S=s+”|”+arr[i];
}
Return s;
}
第十五集練習4
1實踐證明傳遞arr引數時傳遞的不是拷貝而是引用。
2在htm中<script>標籤中執行JS時方法的定義和呼叫方法等語句都是並列的,並逐行執行!
第十六集array的字典用法
1 JS中的array既可以是陣列,也可以是dictionary,還是一個stack。
2 字典用法:
Var dict=new Array();
Dict[“人”]=”ren”;
Dict[“口”]=”kou”;
Alert(dict[“口”]);
3 也可以當做棧來用。
4 其實陣列也可以看做一個特殊的dictionary.
5 通過for來遍歷array
For(var k in dict){
Alert(k);//k是dict的序號,而非值。值應該用dict[k]表示。
}
第十七集array的簡化宣告
1 var arr={3,4,5,6};
2 var arr={“tom”:30,”jim”:20};
3 正式宣告方法:var arr=newarray();arr[“0”或者0]=“something”;
第十八集用for獲取物件的成員
1 用for取array取到的是key的值。
2 在JS中,物件的成員是以物件的Key的形式出現的。因此獲取物件的成員可以像獲取array的key一樣的語法:
For(var e in 物件)
{
Alert(e);
}