|
一.js的數(shù)據(jù)類型和變量
JavaScript 有六種數(shù)據(jù)類型。主要的類型有 number、string、object 以及 Boolean 類型,其他兩種類型為 null 和 undefined。
String 字符串類型:字符串是用單引號或雙引號來說明的。(使用單引號來輸入包含引號的字符串。)如:“The cow jumped over the moon.”
數(shù)值數(shù)據(jù)類型:JavaScript 支持整數(shù)和浮點數(shù)。整數(shù)可以為正數(shù)、0 或者負數(shù);浮點數(shù)可以包含小數(shù)點、也可以包含一個 “e”(大小寫均可,在科學(xué)記數(shù)法中表示“10的冪”)、或者同時包含這兩項。
Boolean 類型:可能的 Boolean 值有 true 和 false。這是兩個特殊值,不能用作 1 和 0。
Undefined 數(shù)據(jù)類型:一個為 undefined 的值就是指在變量被創(chuàng)建后,但未給該變量賦值以前所具有的值。
Null 數(shù)據(jù)類型:null 值就是沒有任何值,什么也不表示。
object類型:除了上面提到的各種常用類型外,對象也是JavaScript中的重要組成部分,這部分將在后面章節(jié)詳細介紹。
在 JavaScript 中變量用來存放腳本中的值,這樣在需要用這個值的地方就可以用變量來代表,一個變量可以是一個數(shù)字,文本或其它一些東西。
JavaScript是一種對數(shù)據(jù)類型變量要求不太嚴格的語言,所以不必聲明每一個變量的類型,變量聲明盡管不是必須的,但在使用變量之前先進行聲明是一種好的習(xí)慣??梢允褂?var 語句來進行變量聲明。如:var men = true; // men 中存儲的值為 Boolean 類型。
變量命名:JavaScript 是一種區(qū)分大小寫的語言,因此將一個變量命名為 computer 和將其命名為 Computer是不一樣的。
另外,變量名稱的長度是任意的,但必須遵循以下規(guī)則:
1.第一個字符必須是一個字母(大小寫均可)、或一個下劃線(_)或一個美元符 ($)。
2.后續(xù)的字符可以是字母、數(shù)字、下劃線或美元符。
3.變量名稱不能是保留字。
二.js語句及語法
JavaScript所提供的語句分為以下幾大類:
1.變量聲明,賦值語句:var。
語法如下: var 變量名稱 [=初始值]
例:var computer = 32 //定義computer是一個變量,且有初值為32。
2.函數(shù)定義語句:function,return。
語法如下: function 函數(shù)名稱 (函數(shù)所帶的參數(shù))
{
函數(shù)執(zhí)行部分
}
return 表達式 //return語句指明將返回的值。
例:function square ( x )
{
return x*x
}
3.條件和分支語句:if...else,switch。
if...else語句完成了程序流程塊中分支功能:如果其中的條件成立,則程序執(zhí)行緊接著條件的語句或語句塊;否則程序執(zhí)行else中的語句或語句塊。 語法如下: if (條件)
{
執(zhí)行語句1
}else{
執(zhí)行語句2
}
例:if (result == true)
{
response = “你答對了!”
}else{
response = “你錯了!”
}
分支語句switch可以根據(jù)一個變量的不同取值采取不同的處理方法。
語法如下: switch (expression)
{
case label1: 語句串1;
case label2: 語句串2;
case label3: 語句串3;
...
default: 語句串3;
}
如果表達式取的值同程序中提供的任何一條語句都不匹配,將執(zhí)行default 中的語句。
4. 循環(huán)語句:for, for...in,while,break,continue。
for語句的語法如下: for (初始化部分;條件部分;更新部分)
{
執(zhí)行部分...
}
只要循環(huán)的條件成立,循環(huán)體就被反復(fù)的執(zhí)行。
for...in語句與for語句有一點不同,它循環(huán)的范圍是一個對象所有的屬性或是一個數(shù)組的所有元素。
for...in語句的語法如下: for (變量 in 對象或數(shù)組)
{
語句...
}
while語句所控制的循環(huán)不斷的測試條件,如果條件始終成立,則一直循環(huán),直到條件不再成立。
語法如下: while (條件)
{
執(zhí)行語句...
}
break語句結(jié)束當前的各種循環(huán),并執(zhí)行循環(huán)的下一條語句。
continue語句結(jié)束當前的循環(huán),并馬上開始下一個循環(huán)。
5.對象操作語句:with,this,new。
with語句的語法如下:
with (對象名稱){
執(zhí)行語句
}
作用是這樣的:如果你想使用某個對象的許多屬性或方法時,只要在with語句的()中寫出這個對象的名稱,然后在下面的執(zhí)行語句中直接寫這個對象的屬性名或方法名就可以了。
new語句是一種對象構(gòu)造器,可以用new語句來定義一個新對象。
語法是這樣的:新對象名稱= new 真正的對象名
譬如說,我們可以這樣定義一個新的日期對象: var curr= new Date(),然后,變量curr就具有了Date對象的屬性。
this運算符總是指向當前的對象。
6.注釋語句://,/*...*/。
//這是單行注釋
/*這可以多行注釋.... */
三.js對象的屬性及方法.
在JavaScript中是基于對象的編程,而不是完全的面向?qū)ο蟮木幊獭?
那麼什麼是對象呢?如果你學(xué)過一些VB的編程,對這個名詞一定不會陌生。通俗的說,對象是變量的集合體,對象提供對于數(shù)據(jù)的一致的組織手段,描述了一類事物的共同屬性。
在JavaScript中,可以使用以下幾種對象:
1.由瀏覽器根據(jù)web頁面的內(nèi)容自動提供的對象。
2.JavaScript的內(nèi)置對象,如Date,Math等。
3.服務(wù)器上的固有對象。
4.用戶自定義的對象。
JavaScript中的對象是由屬性和方法兩個基本的元素的構(gòu)成的。對象的屬性是指對象的背景色,長度,名稱等。對象的方法是指對屬性所進行的操作,就是一個對象自己所屬的函數(shù),如對對象取整,使對象獲得焦點,使對象獲得個隨機數(shù)等等一系列操作。
舉個例子來說,將汽車看成是一個對象,汽車的顏色,大小,品牌等叫做屬性,而發(fā)動,剎車,拐彎等就叫做方法。
可以采用這樣的方法來訪問對象的屬性:對象名稱.屬性名稱,例:mycomputer.year=1996,mycomputer.owner = “me”。
可以采用這樣的方法,將對象的方法同函數(shù)聯(lián)系起來:對象.方法名字=函數(shù)名字或?qū)ο?屬性.方法名,例:this.display=display,document.writeln(“this is method”)。
多看或多寫一些程序,就會理解對象的方法和屬性的含義了!
四.js事件的處理
事件是瀏覽器響應(yīng)用戶交互操作的一種機制,JavaScript的事件處理機制可以改變?yōu)g覽器響應(yīng)用戶操作的方式,這樣就開發(fā)出具有交互性,并易于使用的網(wǎng)頁。
瀏覽器為了響應(yīng)某個事件而進行的處理過程,叫做事件處理。
事件定義了用戶與頁面交互時產(chǎn)生的各種操作,例如單擊超級連接或按鈕時,就產(chǎn)生一個單擊(click)操作事件。瀏覽器在程序運行的大部分時間都等待交互事件的發(fā)生,并在事件發(fā)生時,自動調(diào)用事件處理函數(shù),完成事件處理過程。
事件不僅可以在用戶交互過程中產(chǎn)生,而且瀏覽器自己的一些動作也可以產(chǎn)生事件,例:當載入一個頁面時,就會發(fā)生load事件,卸載一個頁面時,就會發(fā)生unload事件等。
歸納起來,必需使用的事件有三大類:
1.引起頁面之間跳轉(zhuǎn)的事件,主要是超連接事件。
2.事件瀏覽器自己引起的事件。
3.事件在表單內(nèi)部同界面對象的交互。
另:
|
Javascript 基礎(chǔ)
一、 變量
var myBook;
myBook=5;
變量名要求以字母或 _ 打頭,不能含有空格
常見的類型有:字符串,數(shù)值,布爾和對象類型。
var num=6
b=(3>5)
false true
二、 表達式與操作符
1、 比較操作符
== != > < >= <=
2、 運算操作符
+ - * / % ++ --
3、 邏輯操作符
與&& , 或 || , 非 !
4、 位操作符
& | ^(異或) ~ << >> >>>(填0右移操作符)
5、 賦值操作符
=
+= -= *= /=
&= |= ^=
<<= >>= >>>=
6、 其它操作符
條件操作符:(條件)?值1:值2 a=5 b=6 c=(a>b)?a-b:a+b
new操作符 var
com=new Array("Zhang","Li","wang","Chen")
com[2]
delete 操作符 delete com[2]
7、
三、 語句
1、 條件語句
(1) if……else
if (mark>60)
s="pass"
else
s="fail"
(2)tch case 標簽1:代碼塊1;break;
case 標簽2:代碼塊2;break;
…………
case 標簽n:代碼塊n;break;
default: 缺省代碼塊;
}
(3)
2、 循環(huán)語句
(1) for 語句
for(初始表達式;循環(huán)條件;遞增表達式)
{ 代碼塊 }
(2) while 語句
while(循環(huán)條件)
{代碼塊}
(3) do……while語句
do{
代碼塊
} while(循環(huán)條件)
(4) label語句
label:代碼塊
(5) break語句
跳出循環(huán)語句或tch
break label 跳出label標識的代碼塊
(6)
3、 其他語句
(1) for……in語句 [forin.htm]
for (變量 in 對象) {
代碼塊 }
(2) with(對象){
代碼塊 }
(3) 注釋
// 注釋一行 /* */
(4) return
4、
四、 函數(shù)
1、 函數(shù)的定義
function 函數(shù)名(參數(shù)列表)
{ 代碼塊
}
|
-- 作者:111
-- 發(fā)布時間:2004-12-3 1:31:00
--
2、 函數(shù)的調(diào)用
函數(shù)名(參數(shù)列表)
3、 javascript 的全局函數(shù)
(1) eval(字符串)
執(zhí)行該字符串
(2) parseInt(字符串,[基數(shù)]) parseFloat(字符串)
var s="3.14"
var j=parseInt(s)
var k=parseFloat(s)
parseInt("2B",16)=
(3) isNaN(表達式) :不是數(shù)字
(4) Number(對象)和 String(對象)
Var n=new Number(20)
document.write(n.toString(16))
(5) Escape(字符串)和unescape(字符串)將消息串格式轉(zhuǎn)換為ASC碼格式
4、 方法
(1) 滾動窗口scroll()
scroll(x,y):移至窗口某一點,左上角為0,0 [winscroll.htm]
(2) 設(shè)置延遲setTimeout("表達式",時間) 時間:以毫秒為單位
(3) 清除延遲clearTimeout("延遲號")
如:id=setTimeout("disp()",1000)
clearTimeout(id)
(4)
五、 Javascript 中的對象
1、 建立自定義對象
方法1:對象={屬性1:屬性值1,屬性2:屬性值2……屬性n:屬性值n}
方法2:先定義構(gòu)造函數(shù),再new創(chuàng)建對象實例。
如: function car(thecolor,thenumber,thewheels)
{ this.color=thecolor;
this.number=thenumber;
this.wheels=thewheels; }
var mycar=new car("RED","13245",4);
2、 定義對象的方法 [oop.htm]
function ReportInfo( )
{ var information=new string;
information="color:"+this.color+"<BR>";
information+="Number:"+this.Number+"<BR>";
information+="Wheels"+this.wheels;
window.document.write(information);
}
3、 javascript核心語言對象
(1) 數(shù)組對象(Array)
建立數(shù)組:var st=new Array("zhang","wang","li","chen");
var st1=new Array(4)
訪問數(shù)組元素: st[2]
數(shù)組對象的屬性 length (長度) [forin.htm]
方法 sort( ) 按ASCII碼排序 sort([比較函數(shù)名]) [sort.htm]
比較函數(shù)返回值(a與b比較) <0 b排在a 的前面
=0 保持原來次序
>0 a排在b的前面
reverse( ) 元素顛倒順序
join(分隔符) 轉(zhuǎn)換成字符串
(2) 字符串對象(String)
屬性: length
方法:toUpperCase() 轉(zhuǎn)換為大寫字母
toLowerCase() 轉(zhuǎn)換為小寫字母
indexOf(字符串,起始位置) 返回子字符串在字符串中的位置,若沒有,則為-1
LastIndexOf(字符串,起始位置) 返回子字符串在字符串中最后的位置
charAt(位置) 返回字符串中下標位置的字母
substring(位置1,位置2)返回位置1,位置2間字符串
split(分界符) 按分界符的分解成數(shù)組元素
以下的為格式化字符串方法 [str.htm]
big() blink() bold() fixed() fontcolor() fontsize() italics() small()
strike() sub() sup()
|
-- 作者:111
-- 發(fā)布時間:2004-12-3 1:31:00
--
(3) 日期對象(Date)
創(chuàng)建日期對象
var 對象名稱=new Date (參數(shù))
var theDate=new Date( )
var theDate=new Date( 1999,1,1)
方法:getYear( )
getMonth()
getDate( )
getHours( )
getMinutes( )
getSeconds( )
setYear (年份)
setMonth(月份)
setDate(日期)
setHours(小時數(shù))
setMinutes(分鐘數(shù))
setSeconds(秒數(shù))
getTime(毫秒數(shù)) 獲得1970年1月1日0時0分0秒開始的豪秒
setTime(毫秒數(shù))
(4) 數(shù)學(xué)對象(Math)
屬性: PI 圓周率 3.14159265
SQRT2 2的平方根 1.414
LN2 2的自然對數(shù) 0.693147
E 2.718281828459
LN10 10的自然對數(shù) 2.302585
LOG2E 以2為底E的對數(shù) 1.442695
LOG10E 以10為底E的對數(shù) 0.4342944819
SQRT1-2 0.5的平方根 0.7071
方法:min(值1,值2)
max(值1,值2)
round(數(shù)值) 四舍五入
ceil (數(shù)值) 返回>=參數(shù)的最小整數(shù) 負值取0(向上取整)
floor (數(shù)值) 截尾取整(向下取整)
random() 0-1的隨機數(shù)
sqrt(數(shù)值) 返回數(shù)值的平方根
abs(數(shù)值) 取絕對值
acos (數(shù)值) arccos 反余弦
asin(數(shù)值) 反正弦
atan(數(shù)值) 反正切
cos(數(shù)值) 余弦
sin(數(shù)值) 正弦
tan(數(shù)值) 正切
atan(x,y) 計算極角, 夾在X正半軸與x,y間的角
pow(x,y) X的Y次冪
log(x) x的自然對數(shù)
exp(x) E的X次方
|
|