javascript
簡(jiǎn)介javascript
俗稱js
,js
的正式名稱是ECMAScript
,是網(wǎng)景公司Netscape
公司開發(fā)的一種基于客戶端瀏覽器、基于面向?qū)ο蟆⑹录?qū)動(dòng)式的網(wǎng)頁(yè)腳本語(yǔ)言。主要用于:交互式操作,表單驗(yàn)證,網(wǎng)頁(yè)特效,web
游戲,服務(wù)器腳本開發(fā)等;
特點(diǎn)
js
是一種解釋性腳本編程語(yǔ)言js
是基于對(duì)象的腳本編程語(yǔ)言三種使用方法
(1)使用onclick
:屬性構(gòu)建執(zhí)行js
代碼
<a href="#" onclick="alert(1)">點(diǎn)擊</a>
(2)使用<script../>
標(biāo)簽來包含js
代碼
<script type="text/javascript">
alert('Hello, world');
</script>
(3)導(dǎo)入外部的javascript
文件,讓html
頁(yè)面和js
腳本分離
<script src="outer.js" type="text/javascript"></script>
**變量命名規(guī)則: **
$
符號(hào)。$
、任意字母或數(shù)字。js
是弱類型腳本語(yǔ)言,聲明變量時(shí)無需指明變量的數(shù)據(jù)類型,js
是解釋時(shí)動(dòng)態(tài)決定的,數(shù)據(jù)保存在內(nèi)存中時(shí)也是有數(shù)據(jù)類型的,常用數(shù)據(jù)類型如下:
number
):包含整數(shù)和浮點(diǎn)數(shù)boolean
):只有true
或false
兩個(gè)值string
):字符串必須用單引號(hào)或雙引號(hào)括起來object
)array
)undefined
):專門用來確定一個(gè)已經(jīng)創(chuàng)建但是沒有初值的變量null
):用來表明某個(gè)變量的值為空NaN
:非數(shù)值型注:undefined
和null
的值相等,類型不同。 兩個(gè)字符串是否相等,可用==
來判斷。
**數(shù)據(jù)類型轉(zhuǎn)換: **
+
號(hào)或者toString()
:數(shù)值number
類型轉(zhuǎn)換成字符串
parseInt()
:將字符串轉(zhuǎn)為整型
parseFloat()
:將字符串轉(zhuǎn)換為浮點(diǎn)型
**注意: **
parseInt('67red') -> 67
(字符串轉(zhuǎn)為整型的時(shí)候會(huì)自動(dòng)截取前面的數(shù)字,后面的忽略)
parseInt('red67') -> NaN
(字符串前面沒有數(shù)字,會(huì)報(bào)not a number
錯(cuò)誤)
stringObject.charAt(index):獲取字符串特定索引處的字符
index:下標(biāo)(如果不在0~stringObject.length-1的范圍內(nèi),返回'')
返回值:string
stringObject.toUpperCase():將字符串的所有字符轉(zhuǎn)換成大寫字母
返回值:string
stringObject.toLowerCase():將字符串的所有字符轉(zhuǎn)換成小寫字母
返回值:string
stringObject.substring(start, end):提取字符串中介于兩個(gè)指定下標(biāo)之間的字符
start:必須,字符串中開始位置
end:非必需,字符串中結(jié)束位置,如果不指定,會(huì)一直到字符串的結(jié)尾
返回值:string
arrayObject.slice(start, end):提取字符串中介于兩個(gè)指定下標(biāo)之間的字符,可指定負(fù)數(shù)
start:必須,字符串中開始位置
end:非必需,字符串中結(jié)束位置,如果不指定,會(huì)一直到字符串的結(jié)尾
返回值:string
stringObject.indexOf(searchvalue,fromindex):返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置
searchvalue:必須,需要查找的字符串
fromindex:非必須,字符串的指定位置,如果不指定,會(huì)從字符串的開始位置開始查找
返回值:number
stringObject.replace(regexp/substr,replacement):將字符串中的某個(gè)子串以特定的字符串替換
regexp/substr:需要替換的字符串
replacement:替換字符串的值
返回值:string
stringObject.split(separator,limit):
separator必需,分隔符
limit 可選。該參數(shù)可指定返回的數(shù)組的最大長(zhǎng)度,如果不指定,整個(gè)字符串都會(huì)被分割
返回值:string數(shù)組
stringObject.concat(str1, str2...):用于將多個(gè)字符串拼加成一個(gè)字符串
str1:字符串
返回值:string
**注意: **
js
數(shù)組三種定義數(shù)組的方法:
(1)定義時(shí)直接給數(shù)組變量賦值
var arr = [1, 2, 3];
(2)定義一個(gè)空數(shù)組
var arr = [];
(3)用new
方法定義數(shù)組
var arr = new Array();
特點(diǎn):
undefined
,不會(huì)數(shù)組越界js
里面沒有數(shù)組越界的概念,會(huì)顯示undefined
js
運(yùn)算符算術(shù)運(yùn)算符:+ - * / % ++ --
賦值運(yùn)算符:=
比較運(yùn)算符:> < >= <= == != === !==
邏輯運(yùn)算符:&& || !
位運(yùn)算符:& | ~ ^ << >>
其他運(yùn)算符:三目運(yùn)算符(?:
)
void
運(yùn)算符:強(qiáng)行指定某個(gè)表達(dá)式的不會(huì)返回值
typeof
運(yùn)算符:獲取某個(gè)變量的數(shù)據(jù)類型
instanceof
運(yùn)算符:判斷某個(gè)變量的數(shù)據(jù)類型是否為指定的數(shù)據(jù)類型
var a = void 3; //輸出為undefined
document.write(typeof(str)); //輸出為string
alert(arr instanceof Array); //輸出為true
注意:js
中沒有繼承的概念,所有的對(duì)象的父類都是object
js
流程控制js
支持的分支語(yǔ)句主要有if
和switch
語(yǔ)句。
if(條件){
//表達(dá)式
}else{
//表達(dá)式
}
//注意:switch中表達(dá)式的值可以是number類型,也可以是string類型
switch(表達(dá)式){
case 值1: //表達(dá)式 break;
case 值1: //表達(dá)式 break;
...
default://表達(dá)式;
}
js
支持的循環(huán)語(yǔ)句主要有while
循環(huán),do-while
循環(huán),for
循環(huán),for-in
循環(huán)
//先判斷,后執(zhí)行
while(循環(huán)條件){
//表達(dá)式
}
//先執(zhí)行,后判斷,至少執(zhí)行一次
do{
//表達(dá)式
}while(循環(huán)條件)
//當(dāng)循環(huán)次數(shù)確定的情況下,一般用for循環(huán),更簡(jiǎn)潔
for(表達(dá)式1; 表達(dá)式2; 表達(dá)式3){
//表達(dá)式
}
//可用于遍歷對(duì)象,比如數(shù)組(數(shù)組遍歷的是下標(biāo),對(duì)象遍歷的是屬性,注意:都不是具體的值)
for(變量 in 對(duì)象){
//表達(dá)式
}
//遍歷的是下標(biāo)
var arr = [1, 2, 3, 4, 5];
arr[5] = 10;
arr[10] = 11;
for(var a in arr){
document.write(arr[a]+'');
}
js
提供了break
和continue
來改變循環(huán)的控制流
break
:跳出該層循環(huán)continue
:結(jié)束該層循環(huán)的本次循環(huán)常用的特殊語(yǔ)句
語(yǔ)句是js
的基本執(zhí)行單元,每條語(yǔ)句都是以分號(hào)結(jié)束,語(yǔ)句了前面的賦值語(yǔ)句、算術(shù)運(yùn)算等語(yǔ)句之外,還有一些特殊語(yǔ)句。
throw new Error('異常拋出');
try{
var age = 5;
if(age == 5){
throw new Error('異常拋出');
}
}catch(e){
document.write('出錯(cuò):'+e.message);
}finally{
document.write('總會(huì)執(zhí)行的finally塊');
}
聯(lián)系客服