當前位置:才華齋>設計>網頁設計>

JavaScript 基礎教學

網頁設計 閱讀(1.01W)
  JavaScript 基礎篇(一)

基礎篇

JavaScript 基礎教學

Javascript:

一、資料型別和值

javascript:允許使用3種基本型別資料--------數字、字串、布林值,此外還支援兩種小資料型別null(空)和undefine(未定義).

javascript:還支援符合資料型別-物件(object),javascript中物件分兩種,一種物件表示的已命名的值的無序集合,另一種表示有 編號的值的有序集合。其實有序集合就是陣列(Array)。

javascript:還定義了另一種特殊物件----函式,還有一些javascript定義的一些專用物件(等同C#封裝的類一樣的概念,直接用就行)

複製程式碼 程式碼如下:

整型直接量:3或者10000,說白了就是數字

浮點型直接量:3.14,2345.567等,就是帶小數點的

字串直接量:"3.14","demo"等,所謂字串,就是帶單引號或雙引號括起來的Unicode字元序列。

把數字轉換為字串:1,var s = 100; s+="What you name";數字就會先

轉換成字串

2,var s = 100 +"";加一個空字串

3.要讓數字更顯示的轉換為字串可以使用 String()函式或

者使用toString函式。

把字串轉換為數字:var product = "2" * "2";其實當一個字串用於數字環

境 中它會自動地轉換成一個數字,也可以通過減0也可達到同樣的效果,或者使用

Number()函式

布林值:

在這裡我想和大家分享的內容還是轉換:今後用的會比較多。1、當一個布林值用在數字環境中,true就轉換為數字1,而false轉換成數字0,在字串環境中,true就轉換成字串true,而false就轉換成字串false

函式:

函式是一個可執行的JavaScript程式碼段。這裡說一下:函式作為資料型別,也可以像其他型別一樣賦給物件的屬性,當賦值成功後,屬性常常當做是哪個方法的引用。後面常用。

函式直接量:var square = function(x){return x*x};//後面常用到,要能理解或記住

Javascript:二、物件

1、物件

複製程式碼 程式碼如下:

var o = new Object();//大家注意,javascript大小寫敏感!

var now = new Date()

var regex = new RegExp("^+?d{1}d{3}$")//正則表示式

物件的直接量:

var point = {x:12,y:34};

var point2 = {"super":{day:sunday,day1:monday}}//物件的屬性引用另一個物件。

物件的轉換:

當一個非空的物件用於布林環境時:它轉換為true,當用在字串環境中是,javascript會呼叫物件的toString()方法,並且使用該函式返回的值,當用於數字環境時:javascript 會呼叫該物件的valueOf()方法,如果返回的是一個基本型別,這個值會被使用,大多數的時候返回的是物件自己,這種情況下javascript回撥用toString()方法把物件轉換成一個字串,然後在試圖轉換成數字。這上面的概念,希望大家也要理解,以後會用到。

2、陣列

複製程式碼 程式碼如下:

var array = new Array();

var arr = new Array(1.2,"Javascript",{x:12,y:23})//帶引數的

陣列直接量:

var a = [1.2,"Javascript",{x:12,y:23}]//陣列是[]號,物件是{}號,很好記!

3、Null(空)

javascript的關鍵字Null 是一個特殊的值,它表示無值,null 常被看作物件型別的一個特殊值,即代表無物件的值,當一個變數的值

為null,那麼就說明它的值不是有效的(Array,Object,數字,字串,布林值), 細節:null 在布林環境中它轉換成false;在數字

環境中轉換成0。

4、Undefined(未定義)

在使用一個並未宣告的變數時,或者使用了已經宣告的變數但沒有賦值的變數時,又或者是使用一個並不存在的物件屬性是,返回的

就是undefined值,在往後的(名稱空間,模組用的還是蠻多,大家要理解),細節:underfined在布林環境中它轉換成false,在數字環境

它會轉換成NaN。這一點和null有區別。封裝它的物件是Error。

小結:以上內容雖然一看就懂,希望和我一樣初學的'朋友們,千萬不要大意!

  JavaScript 基礎篇 (二)

基礎篇

javascript:變數的宣告

以下是幾種宣告變數的方式

複製程式碼 程式碼如下:

var value;

var value,value1,value2;//同時宣告多個變數,但是這些變數的值都是undefined

var i = 0,j = 0,k=100;//變數宣告,初始化一體。

//如果大家嘗試讀一個不存在的變數(值)會報錯!但是嘗試給一個未使用Var宣告的變數賦值,javascript

//會隱式的宣告改變數,而且聲明瞭的變數還是全域性的。細節:所以大家建立變數都儘量使用Var

//變數的作用域(這個問題也容易出,大家要搞明白)

javascript:變數的作用域

這些都是細節,和我一樣初學的一定要注意避免!

複製程式碼 程式碼如下:

var golbal = "golbal"; //全域性變數

var local ="local";

function area()

{

//區域性變數的優先順序比全域性變數的高

var local = "arealocal"

//當函式體內宣告的變數名和全域性變數名相同時,javascript 會隱藏全域性變數

var golbal ="areagolbal";

e("local is :"+local + "and golbal is :" + golbal +"

");

}

area();

//輸出:local is :arealocaland golbal is :areagolbal

在巢狀的函式裡面定義區域性變數,效果會怎麼樣呢?看下面:

複製程式碼 程式碼如下:

var hope = "moremoney";

function createmore()

{

var hope = "have more money";//區域性

function createmoreto()//巢狀函式

{

var hope = "have more money to much";//區域性

e("Createmoreto hope is :"+hope +"

");

//輸出:Createmoreto hope is :have more money to much

}

createmoreto();//呼叫

e("Createmore hope is :" +hope +"

");

//輸出:Createmore hope is :have more money

}

createmore(); //呼叫

javascript:傳值和傳址

這裡也是比較重要的概念!不要漏了。

複製程式碼 程式碼如下:

傳值 傳址

複製 實際複製的值,存在不同的、 複製的只是對數字的引用。如果通過這個

獨立的拷貝。 新的引用修改了數值,這個改變對最初的

引用來說也是可見的。

傳遞 傳遞給函式的是值的獨立拷貝 傳遞給函式的是對數值的引用,如果函式

對它的改變在函式外沒有影響 通過傳遞給它的引用修改了數值,這個改

變也是可見的。

比較 比較這兩個對立的值,通常逐 比較的是兩個引用,以判斷它們引用的是否

位元組的比較,以判斷是否相等 是同一個數值。

javascript:基本型別和引用型別

javascript的基本規則是:基本型別通過傳值來操作,引用型別通過傳址來操作。(什麼事值型別,或者什麼事引用看我上一篇)

複製程式碼 程式碼如下:

按值傳遞

var value = 1;

var copyvalue = value; //將value賦給另一個變數

function addTotal(total,arg)

{

total+= arg; //total = total + arg 效果等同

}

//呼叫函式,傳兩個引數(大家可能會認為這個函式改變了全域性變數的值,其實沒有,函式用的也是對立拷貝)

addTotal(value,copyvalue);

if(value == 1) copyvalue = 2;

e("total t" + value + "and copyvalue tt" + copyvalue+"

");

//最後輸出:total 1and copyvalue 2

複製程式碼 程式碼如下:

按址傳遞

var array = new Array("Javascccp");

var objarray = array;

function modifyArray(arr)

{

arr[0] = "JAVASCRIPT";

}

//沒呼叫函式前

e(array[0] +"

");

//輸出Javascccp;

//呼叫函式後

modifyArray(array);

e(array[0]+"

");

//輸出大寫JAVASCRIPT

//通過修改objarray會是一樣的效果

objarray[0] = "Frank";

e(array[0]+"

");

//輸出Frank;

小結:上面內容希望大家都不要錯過,對學習後面的知識還是很有幫助的!