傳智播客學習之JavaScript基礎篇

來源:互聯網
上載者:User

一、JavaScript與java的區別
1.JavaScript是Netscape公司的產品,Java是Sun公司的產品。
2.JavaScript是基於對象,Java是物件導向。
3.JavaScript只需解釋就可以執行,Java需要先編譯成位元組碼檔案,再執行。
4.JavaScript是弱類型,Java是強型別。
小結:其實java與JavaScript除了名字上有些像以外,然後JavaScript借用了部分java思想外,其餘別的幾乎沒有什麼關係。
二、如何將JavaScript與Html的結合
1.標籤形式
我們將JavaScript代碼存放在標籤對<script>...</script>中。可以放在任何位置。
2.匯入方式
使用script標籤的src屬性引入一個JavaScript檔案。
例如:<script src=”test.js” type=”javascript”></script>
注意:規範中script標籤中必須加入type屬性。
三、JavaScript文法
1.變數
通過關鍵字var來定義,由於是弱類型,所以不用指定具體的資料類型。
例:var x = 3; x = “hello”;
注意:1)在JavaScript中單引號和雙引號沒有區別,但是最好寫雙引號,規範。
2)在JavaScript中特殊的常量值:undefined,當變數沒有初始化就被使用,該變 量的值就是undefined(未定義)。
2.運算子
與其他程式設計語言一樣,與java類似。也支援字串串連符(+)以及三元運算子(? :),不同的是三元運算子不需要有值,可以直接在語句輸出等。
3.語句
語句格式與各種程式設計語言差不多,也有判斷,選擇以及迴圈。但是注意一下幾點:
1)在JavaScript中非0 為真。例如下面代碼
var x = 3;
if(x==4)//可以進行比較運算。
if(x=4)//可以進行賦值運算,而且可以同樣進行判斷。不報錯。結果為true,所以在if語句後可以倒過來寫if(4==x),這樣如果寫成4=x會報錯。可以糾正錯誤。
2)switch裡面沒有類型限制
3)迴圈一定要有結束條件
4)串連boolean運算,一定要用&&或者||,如果用&或者|會進行位元運算
四.函數
1.一般函數
格式:
function 函數名(形式參數...)
{
執行語句;
return 傳回值;
}
注意:1)return語句可以不寫,函數一定要被調用才會運行。
2)形式參數沒有必要加var,是弱類型。
3)調用有參數的函數,但沒有給其傳值,或傳多於參數個數的值,函數一樣可以運 行,或者調用沒有參數的函數,給其傳值,該函數也一樣運行。
4)JavaScript中沒有重載函數形式
因為在JavaScript中實際將函數的多個參數封裝在一個arguments數組中,所以可以接受任意多個參數,但是最好還是按定義好的形式參數傳遞實際參數。
5)注意下面的例子
var show = demo();
上面這條語句表示的是show變數接收demo函數的傳回值。
var show = demo;
上面這條語句表示的是show與demo代表同一函數,指向同意對象
2.動態函數
通過JavaScript的內建對象Function實現。如下:
var demo = new Function("x,y","var sum = x+y; alert(sum);");
demo(5,2);
動態函數與一般函數不同的是,參數以及函數體都可以通過參數進行傳遞,可以動態指定。

3.匿名函數
格式:function()
例:var demo = function(){alert("snow");}
demo();
注意:通常在定義事件屬性的行為時較為常用。
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;}
五、數組
在JavaScript中,數組結合了集合的特性,可以存任意元素,長度也是可變的。而且在賦值的時候不是大括弧而是中括弧,如下:
var arr = new Array();
arr[0] = “ashf”;
arr[1] = 258;
或者var arr = [“ashf”,258,true,'sfa'];
注意在遍曆的時候不要int x了,要var x,弱類型。
二維數組: var arrr = [[元素,元素....],[元素...],[元素....].....]
六、內建對象
在JavaScript中,內建了很多個物件,比如String,Object,Date等,可以查閱相關協助文檔(如有需要,可以留下郵箱),這裡主要對部分不同處做簡單說明。
1.String中length是屬性,不是方法
2.String中substring(a,b)方法是取a到b-1的字元,而substr(a,b)方法從a開始,取b個字元
3.a.toString(b)返回b進位的a形式
4.parseInt("a",b)會將b進位的a轉換成十進位形式的a

七、自訂對象
在JavaScript中,除了已經提供的內建對象外,也可以自訂對象。
方式一:
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"]);
八、用於操作對象的語句
1.with語句
當調用一個對象中多個成員時,為了簡化調用,避免”對象.”這種格式的重複書寫。
格式:with(對象){ 這裡面代碼不用加(對象.屬性)了 }
var p = new car("white",4);
alert(c.color+":"+c["tyre"]);
可以寫成:
var p = new car("white",4);
with(car){alert(color+":"+tyre)};
注意:with語句定義了某個對象的範圍,在該域中可以直接調用該對象的成員。
for...in語句
For 變數in對象 語句:遍曆對象中的成員,如果遍曆數組,變數裡面是腳標
擷取對象的值 對象【變數】,變數是屬性名稱

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.