1.js中雙單引號均可。
<a href="javascript:alert('hello')">點點</a>
<a href="#" onclick="alert('hello')">點點</a>
2.js的變數
null變數的值為空白,undefine沒有指向任何對象
var i=10;
i="aaaa";
i最後為aaaa
i=10;i類似於全域變數
3.js調試
安裝DeBugBar來協助調試
4.判斷變數初始化
var x;
if(x==null)
{}
if(typeof(x)=='undefined')
{}
if(!x)
{}
推薦用最後一種方法
if(x)//變數北初始化了或變數不為空白或變數不為0
5.函數的聲明
alert(add(1,2));
function add(i1,i2){ //最好這個大括弧不要換行,避免引起bug
return i1+i2;
}
//alert(add(1,2));//alert()在function之前之後均可
匿名函數
var f1=function(i1,i2){return i1+i2;};(注意;的區別意義)
alert(f1(1,2));
//聲明一個函數,立刻使用
6.js物件導向基礎:
js中沒有類的文法,是用函數閉包(closure)類比出來的
function Person(name,age){//是一個函數,js沒有class,這裡是用一個函數來類比class
this.Name=name;//this.Name動態變數
this.Age=age;
this.SayHello=function(){alert(this.Name)};
}
Person p1=new Person('dan',23);
p1.SayHello();
【p1.sex='男';
alert(p1.sex);//也是動態增加屬性】
7.Array對像(相當於c#中的ArrayList,Hashtable)
是一個動態數組,無需預先定製大小
var arr=new Array();
arr[0]="zheng";
arr[1]="dan";
arr[2]="dan";
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
例1:
function getMax(arr){
var max=arr[0];
for(var i=0;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
return max;
}
}
}
var var1=new Array();
var1[0]=20;
var1[1]=10;
var1[2]=2;
var1[3]=5;
int max=getMax(var1);
alert(max);
例2:
{3,a,8,haha}
i和length-1個交換位置
function myReverse(arr){//傳遞不是拷貝
for(var i=0;i<arr.length/2;i++){
var temp=arr[i];
arr[i]=arr[arr.length-i];
arr[arr.length-i]=temp;
}
}
var arr=new Array();
arr[0]="zheng";
arr[1]="dan";
arr[2]="dan";
alert(myReverse(arr));
例3:
將數組字串用|進行分割 arr.join("|")
function myjoin(arr){
var s=arr[0];
if(arr.length<=0)
return;
for(var i=1;i<var.length;i++){
s+="|"+arr[i];
}
return s:
}
var arr=new Array();
arr[0]="zheng";
arr[1]="dan";
arr[2]="dan";
alert(myjoin(myjoin(arr)));
8.js中的Dictionary
Array: 數組,Dictionary , Stack.
var diet=new Array();
dict["人"]="zheng";
dict["口"]="dan";
dict["手"]="dan";
alert(dict["人"]);//彈出結果為"zheng";
["人"為key,"zheng"為value的Dictionary]
foreach(var k in dict{
alert(k);//遍曆出來的結果為key(即:人口手);
}
註:數組用法是Dictionary的特例(key為整數)
9.Array的簡化聲明
var arr=[1,2,3];//數組
var nameAge={"tom":30,"joy":20};//Dictionary
10.用for擷取對象所有的成員,對象的成員就是以對象的key的形式出現的
for(var a in document){
alert(a);
}
var p1=new Object();
p1.Name="zheng";
p1.age=23;
p1.SayHello=function(){alert("hello");};
p1.SayHello();
foreach(var a in p1){
alert(e);//得到zheng 23 SayHello;e 就是每一個key
}
11.js無需編譯直接運行,開發環境vs中,記事本中
vs2008SP1VS90SP1-KB958502-x86這兩個補丁 JQuery "."不出來也不影響運行
12.
<script type="text/javascript"></script>
引用外部js檔案,外部檔案只會載入一次,降低網站的負載。現實共用。
<script src="commonJs.js" type"text/javascript"></script>[head標籤中]