JavaScript 基礎(chǔ)教學(xué)
JavaScript 基礎(chǔ)篇(一)
基礎(chǔ)篇
Javascript:
一、數(shù)據(jù)類型和值
javascript:允許使用3種基本類型數(shù)據(jù)--------數(shù)字、字符串、布爾值,此外還支持兩種小數(shù)據(jù)類型null(空)和undefine(未定義).
javascript:還支持符合數(shù)據(jù)類型-對(duì)象(object),javascript中對(duì)象分兩種,一種對(duì)象表示的已命名的值的無(wú)序集合,另一種表示有 編號(hào)的值的有序集合。其實(shí)有序集合就是數(shù)組(Array)。
javascript:還定義了另一種特殊對(duì)象----函數(shù),還有一些javascript定義的一些專用對(duì)象(等同C#封裝的類一樣的概念,直接用就行)
復(fù)制代碼 代碼如下:
整型直接量:3或者10000,說(shuō)白了就是數(shù)字
浮點(diǎn)型直接量:3.14,2345.567等,就是帶小數(shù)點(diǎn)的
字符串直接量:"3.14","demo"等,所謂字符串,就是帶單引號(hào)或雙引號(hào)括起來(lái)的Unicode字符序列。
把數(shù)字轉(zhuǎn)換為字符串:1,var s = 100; s+="What you name";數(shù)字就會(huì)先
轉(zhuǎn)換成字符串
2,var s = 100 +"";加一個(gè)空字符串
3.要讓數(shù)字更顯示的轉(zhuǎn)換為字符串可以使用 String()函數(shù)或
者使用toString函數(shù)。
把字符串轉(zhuǎn)換為數(shù)字:var product = "2" * "2";其實(shí)當(dāng)一個(gè)字符串用于數(shù)字環(huán)
境 中它會(huì)自動(dòng)地轉(zhuǎn)換成一個(gè)數(shù)字,也可以通過(guò)減0也可達(dá)到同樣的效果,或者使用
Number()函數(shù)
布爾值:
在這里我想和大家分享的內(nèi)容還是轉(zhuǎn)換:今后用的會(huì)比較多。1、當(dāng)一個(gè)布爾值用在數(shù)字環(huán)境中,true就轉(zhuǎn)換為數(shù)字1,而false轉(zhuǎn)換成數(shù)字0,在字符串環(huán)境中,true就轉(zhuǎn)換成字符串true,而false就轉(zhuǎn)換成字符串false
函數(shù):
函數(shù)是一個(gè)可執(zhí)行的JavaScript代碼段。這里說(shuō)一下:函數(shù)作為數(shù)據(jù)類型,也可以像其他類型一樣賦給對(duì)象的屬性,當(dāng)賦值成功后,屬性常常當(dāng)做是哪個(gè)方法的引用。后面常用。
函數(shù)直接量:var square = function(x){return x*x};//后面常用到,要能理解或記住
Javascript:二、對(duì)象
1、對(duì)象
復(fù)制代碼 代碼如下:
var o = new Object();//大家注意,javascript大小寫(xiě)敏感!
var now = new Date()
var regex = new RegExp("^+?d{1}d{3}$")//正則表達(dá)式
對(duì)象的直接量:
var point = {x:12,y:34};
var point2 = {"super":{day:sunday,day1:monday}}//對(duì)象的屬性引用另一個(gè)對(duì)象。
對(duì)象的轉(zhuǎn)換:
當(dāng)一個(gè)非空的對(duì)象用于布爾環(huán)境時(shí):它轉(zhuǎn)換為true,當(dāng)用在字符串環(huán)境中是,javascript會(huì)調(diào)用對(duì)象的toString()方法,并且使用該函數(shù)返回的值,當(dāng)用于數(shù)字環(huán)境時(shí):javascript 會(huì)調(diào)用該對(duì)象的valueOf()方法,如果返回的是一個(gè)基本類型,這個(gè)值會(huì)被使用,大多數(shù)的時(shí)候返回的是對(duì)象自己,這種情況下javascript回調(diào)用toString()方法把對(duì)象轉(zhuǎn)換成一個(gè)字符串,然后在試圖轉(zhuǎn)換成數(shù)字。這上面的概念,希望大家也要理解,以后會(huì)用到。
2、數(shù)組
復(fù)制代碼 代碼如下:
var array = new Array();
var arr = new Array(1.2,"Javascript",{x:12,y:23})//帶參數(shù)的
數(shù)組直接量:
var a = [1.2,"Javascript",{x:12,y:23}]//數(shù)組是[]號(hào),對(duì)象是{}號(hào),很好記!
3、Null(空)
javascript的關(guān)鍵字Null 是一個(gè)特殊的值,它表示無(wú)值,null 常被看作對(duì)象類型的一個(gè)特殊值,即代表無(wú)對(duì)象的值,當(dāng)一個(gè)變量的值
為null,那么就說(shuō)明它的值不是有效的(Array,Object,數(shù)字,字符串,布爾值), 細(xì)節(jié):null 在布爾環(huán)境中它轉(zhuǎn)換成false;在數(shù)字
環(huán)境中轉(zhuǎn)換成0。
4、Undefined(未定義)
在使用一個(gè)并未聲明的變量時(shí),或者使用了已經(jīng)聲明的變量但沒(méi)有賦值的變量時(shí),又或者是使用一個(gè)并不存在的對(duì)象屬性是,返回的
就是undefined值,在往后的(命名空間,模塊用的還是蠻多,大家要理解),細(xì)節(jié):underfined在布爾環(huán)境中它轉(zhuǎn)換成false,在數(shù)字環(huán)境
它會(huì)轉(zhuǎn)換成NaN。這一點(diǎn)和null有區(qū)別。封裝它的對(duì)象是Error。
小結(jié):以上內(nèi)容雖然一看就懂,希望和我一樣初學(xué)的'朋友們,千萬(wàn)不要大意!
JavaScript 基礎(chǔ)篇 (二)
基礎(chǔ)篇
javascript:變量的聲明
以下是幾種聲明變量的方式
復(fù)制代碼 代碼如下:
var value;
var value,value1,value2;//同時(shí)聲明多個(gè)變量,但是這些變量的值都是undefined
var i = 0,j = 0,k=100;//變量聲明,初始化一體。
//如果大家嘗試讀一個(gè)不存在的變量(值)會(huì)報(bào)錯(cuò)!但是嘗試給一個(gè)未使用Var聲明的變量賦值,javascript
//會(huì)隱式的聲明改變量,而且聲明了的變量還是全局的。細(xì)節(jié):所以大家創(chuàng)建變量都盡量使用Var
//變量的作用域(這個(gè)問(wèn)題也容易出,大家要搞明白)
javascript:變量的作用域
這些都是細(xì)節(jié),和我一樣初學(xué)的一定要注意避免!
復(fù)制代碼 代碼如下:
var golbal = "golbal"; //全局變量
var local ="local";
function area()
{
//局部變量的優(yōu)先級(jí)比全局變量的高
var local = "arealocal"
//當(dāng)函數(shù)體內(nèi)聲明的變量名和全局變量名相同時(shí),javascript 會(huì)隱藏全局變量
var golbal ="areagolbal";
document.write("local is :"+local + "and golbal is :" + golbal +"
");
}
area();
//輸出:local is :arealocaland golbal is :areagolbal
在嵌套的函數(shù)里面定義局部變量,效果會(huì)怎么樣呢?看下面:
復(fù)制代碼 代碼如下:
var hope = "moremoney";
function createmore()
{
var hope = "have more money";//局部
function createmoreto()//嵌套函數(shù)
{
var hope = "have more money to much";//局部
document.write("Createmoreto hope is :"+hope +"
");
//輸出:Createmoreto hope is :have more money to much
}
createmoreto();//調(diào)用
document.write("Createmore hope is :" +hope +"
");
//輸出:Createmore hope is :have more money
}
createmore(); //調(diào)用
javascript:傳值和傳址
這里也是比較重要的概念!不要漏了。
復(fù)制代碼 代碼如下:
傳值 傳址
復(fù)制 實(shí)際復(fù)制的值,存在不同的、 復(fù)制的只是對(duì)數(shù)字的引用。如果通過(guò)這個(gè)
獨(dú)立的拷貝。 新的引用修改了數(shù)值,這個(gè)改變對(duì)最初的
引用來(lái)說(shuō)也是可見(jiàn)的。
傳遞 傳遞給函數(shù)的是值的獨(dú)立拷貝 傳遞給函數(shù)的是對(duì)數(shù)值的引用,如果函數(shù)
對(duì)它的改變?cè)诤瘮?shù)外沒(méi)有影響 通過(guò)傳遞給它的引用修改了數(shù)值,這個(gè)改
變也是可見(jiàn)的。
比較 比較這兩個(gè)對(duì)立的值,通常逐 比較的是兩個(gè)引用,以判斷它們引用的是否
字節(jié)的比較,以判斷是否相等 是同一個(gè)數(shù)值。
javascript:基本類型和引用類型
javascript的基本規(guī)則是:基本類型通過(guò)傳值來(lái)操作,引用類型通過(guò)傳址來(lái)操作。(什么事值類型,或者什么事引用看我上一篇)
復(fù)制代碼 代碼如下:
按值傳遞
var value = 1;
var copyvalue = value; //將value賦給另一個(gè)變量
function addTotal(total,arg)
{
total+= arg; //total = total + arg 效果等同
}
//調(diào)用函數(shù),傳兩個(gè)參數(shù)(大家可能會(huì)認(rèn)為這個(gè)函數(shù)改變了全局變量的值,其實(shí)沒(méi)有,函數(shù)用的也是對(duì)立拷貝)
addTotal(value,copyvalue);
if(value == 1) copyvalue = 2;
document.write("total t" + value + "and copyvalue tt" + copyvalue+"
");
//最后輸出:total 1and copyvalue 2
復(fù)制代碼 代碼如下:
按址傳遞
var array = new Array("Javascccp");
var objarray = array;
function modifyArray(arr)
{
arr[0] = "JAVASCRIPT";
}
//沒(méi)調(diào)用函數(shù)前
document.write(array[0] +"
");
//輸出Javascccp;
//調(diào)用函數(shù)后
modifyArray(array);
document.write(array[0]+"
");
//輸出大寫(xiě)JAVASCRIPT
//通過(guò)修改objarray會(huì)是一樣的效果
objarray[0] = "Frank";
document.write(array[0]+"
");
//輸出Frank;
小結(jié):上面內(nèi)容希望大家都不要錯(cuò)過(guò),對(duì)學(xué)習(xí)后面的知識(shí)還是很有幫助的!
【JavaScript 基礎(chǔ)教學(xué)】相關(guān)文章:
4.關(guān)于Javascript基礎(chǔ)教程:變量
5.關(guān)于Javascript 入門(mén)基礎(chǔ)學(xué)習(xí)
6.關(guān)于javascript的基礎(chǔ)知識(shí)