傳智播客學(xué)習(xí)之JavaScript基礎(chǔ)篇
一、JavaScript與java的區(qū)別
1.JavaScript是Netscape公司的產(chǎn)品,Java是Sun公司的產(chǎn)品。
2.JavaScript是基于對(duì)象,Java是面向?qū)ο蟆?
3.JavaScript只需解釋就可以執(zhí)行,Java需要先編譯成字節(jié)碼文件,再執(zhí)行。
4.JavaScript是弱類型,Java是強(qiáng)類型。
小結(jié):其實(shí)java與JavaScript除了名字上有些像以外,然后JavaScript借用了部分java思想外,其余別的幾乎沒有什么關(guān)系。
二、如何將JavaScript與Html的結(jié)合
1.標(biāo)簽形式
我們將JavaScript代碼存放在標(biāo)簽對(duì)<script>...</script>中??梢苑旁谌魏挝恢谩?
2.導(dǎo)入方式
使用script標(biāo)簽的src屬性引入一個(gè)JavaScript文件。
例如:<script src=”test.js” type=”javascript”></script>
注意:規(guī)范中script標(biāo)簽中必須加入type屬性。
三、JavaScript語(yǔ)法
1.變量
通過(guò)關(guān)鍵字var來(lái)定義,由于是弱類型,所以不用指定具體的數(shù)據(jù)類型。
例:var x = 3; x = “hello”;
注意:1)在JavaScript中單引號(hào)和雙引號(hào)沒有區(qū)別,但是最好寫雙引號(hào),規(guī)范。
2)在JavaScript中特殊的常量值:undefined,當(dāng)變量沒有初始化就被使用,該變 量的值就是undefined(未定義)。
2.運(yùn)算符
與其他編程語(yǔ)言一樣,與java類似。也支持字符串連接符(+)以及三元運(yùn)算符(? :),不同的是三元運(yùn)算符不需要有值,可以直接在語(yǔ)句輸出等。
3.語(yǔ)句
語(yǔ)句格式與各種編程語(yǔ)言差不多,也有判斷,選擇以及循環(huán)。但是注意一下幾點(diǎn):
1)在JavaScript中非0 為真。例如下面代碼
var x = 3;
if(x==4)//可以進(jìn)行比較運(yùn)算。
if(x=4)//可以進(jìn)行賦值運(yùn)算,而且可以同樣進(jìn)行判斷。不報(bào)錯(cuò)。結(jié)果為true,所以在if語(yǔ)句后可以倒過(guò)來(lái)寫if(4==x),這樣如果寫成4=x會(huì)報(bào)錯(cuò)??梢约m正錯(cuò)誤。
2)switch里面沒有類型限制
3)循環(huán)一定要有結(jié)束條件
4)連接boolean運(yùn)算,一定要用&&或者||,如果用&或者|會(huì)進(jìn)行位運(yùn)算
四.函數(shù)
1.一般函數(shù)
格式:
function 函數(shù)名(形式參數(shù)...)
{
執(zhí)行語(yǔ)句;
return 返回值;
}
注意:1)return語(yǔ)句可以不寫,函數(shù)一定要被調(diào)用才會(huì)運(yùn)行。
2)形式參數(shù)沒有必要加var,是弱類型。
3)調(diào)用有參數(shù)的函數(shù),但沒有給其傳值,或傳多于參數(shù)個(gè)數(shù)的值,函數(shù)一樣可以運(yùn) 行,或者調(diào)用沒有參數(shù)的函數(shù),給其傳值,該函數(shù)也一樣運(yùn)行。
4)JavaScript中沒有重載函數(shù)形式
因?yàn)樵贘avaScript中實(shí)際將函數(shù)的多個(gè)參數(shù)封裝在一個(gè)arguments數(shù)組中,所以可以接受任意多個(gè)參數(shù),但是最好還是按定義好的形式參數(shù)傳遞實(shí)際參數(shù)。
5)注意下面的例子
var show = demo();
上面這條語(yǔ)句表示的是show變量接收demo函數(shù)的返回值。
var show = demo;
上面這條語(yǔ)句表示的是show與demo代表同一函數(shù),指向同意對(duì)象
2.動(dòng)態(tài)函數(shù)
通過(guò)JavaScript的內(nèi)置對(duì)象Function實(shí)現(xiàn)。如下:
var demo = new Function("x,y","var sum = x+y; alert(sum);");
demo(5,2);
動(dòng)態(tài)函數(shù)與一般函數(shù)不同的是,參數(shù)以及函數(shù)體都可以通過(guò)參數(shù)進(jìn)行傳遞,可以動(dòng)態(tài)指定。
3.匿名函數(shù)
格式:function()
例:var demo = function(){alert("snow");}
demo();
注意:通常在定義事件屬性的行為時(shí)較為常用。
4.其他形式
var p = new Object();
p.name ="lisi";
p.age=31;
p.demo = show;
alert(p.name +":"+p.age+demo(4,5));
function show(x,y){return x+y;}
五、數(shù)組
在JavaScript中,數(shù)組結(jié)合了集合的特性,可以存任意元素,長(zhǎng)度也是可變的。而且在賦值的時(shí)候不是大括號(hào)而是中括號(hào),如下:
var arr = new Array();
arr[0] = “ashf”;
arr[1] = 258;
或者var arr = [“ashf”,258,true,'sfa'];
注意在遍歷的時(shí)候不要int x了,要var x,弱類型。
二維數(shù)組: var arrr = [[元素,元素....],[元素...],[元素....].....]
六、內(nèi)置對(duì)象
在JavaScript中,內(nèi)置了很多對(duì)象,比如String,Object,Date等,可以查閱相關(guān)幫助文檔(如有需要,可以留下郵箱),這里主要對(duì)部分不同處做簡(jiǎn)單說(shuō)明。
1.String中l(wèi)ength是屬性,不是方法
2.String中substring(a,b)方法是取a到b-1的字符,而substr(a,b)方法從a開始,取b個(gè)字符
3.a.toString(b)返回b進(jìn)制的a形式
4.parseInt("a",b)會(huì)將b進(jìn)制的a轉(zhuǎn)換成十進(jìn)制形式的a
七、自定義對(duì)象
在JavaScript中,除了已經(jīng)提供的內(nèi)置對(duì)象外,也可以自定義對(duì)象。
方式一:
function car(){}
var c = new car();
c.color = "white";
c.tyre = 4;
c.run = show;
function show(){alert(c.color+c.tyre+“run”);}
c.run();
方式二:
function car(color,tyre)
{
this.color = color;
this.tyre = tyre;
}
var c = new car(“white”,4);
alert(c.color+":"+c["tyre"]);
八、用于操作對(duì)象的語(yǔ)句
1.with語(yǔ)句
當(dāng)調(diào)用一個(gè)對(duì)象中多個(gè)成員時(shí),為了簡(jiǎn)化調(diào)用,避免”對(duì)象.”這種格式的重復(fù)書寫。
格式:with(對(duì)象){ 這里面代碼不用加(對(duì)象.屬性)了 }
var p = new car("white",4);
alert(c.color+":"+c["tyre"]);
可以寫成:
var p = new car("white",4);
with(car){alert(color+":"+tyre)};
注意:with語(yǔ)句定義了某個(gè)對(duì)象的作用域,在該域中可以直接調(diào)用該對(duì)象的成員。
for...in語(yǔ)句
For 變量in對(duì)象 語(yǔ)句:遍歷對(duì)象中的成員,如果遍歷數(shù)組,變量里面是腳標(biāo)
獲取對(duì)象的值 對(duì)象【變量】,變量是屬性名
相關(guān)文章
JavaScript中的函數(shù)的兩種定義方式和函數(shù)變量賦值
這篇文章主要介紹了JavaScript中的函數(shù)的兩種定義方式和函數(shù)變量賦值,需要的朋友可以參考下2014-05-05