javascript
簡介
javascript
俗稱js
,js
的正式名稱是ECMAScript
,是網景公司Netscape
公司開闢的一種基於客戶端瀏覽器、基於面向對象、事宜驅動式的網頁劇本言語。重要用於:交互式操縱,表單考證,網頁殊效,web
遊戲,服務器劇本開闢等;
特性
-
js
是一種詮釋性劇本編程言語 -
js
是基於對象的劇本編程言語 - 簡單性
- 安全性(不能接見當地硬盤)
- 動態性的
- 跨平台性(依靠瀏覽器,與操縱系統無關)
三種應用要領
(1)應用onclick
:屬性構建實行js
代碼
<a href="#" onclick="alert(1)">點擊</a>
(2)應用<script../>
標籤來包括js
代碼
<script type="text/javascript">
alert('Hello, world');
</script>
(3)導入外部的javascript
文件,讓html
頁面和js
劇本星散
<script src="outer.js" type="text/javascript"></script>
javascript
變量和數據範例
js
是弱範例劇本言語,應用變量之前,能夠無需定義,當應用某個變量的時刻直接應用即可。重要分為以下兩種定義體式格局:
(1)隱式定義:直接給變量賦值(隱式變量聲明的時刻必須賦初值) a = 10;
(2)顯現定義:應用var
關鍵字定義變量(應用之前必須賦初值,不然會報undefined
毛病) var a = 10;
變量定名劃定規矩:
- 首字母必須是字母、下劃線或許
$
標記。 - 餘下的字母能夠是下劃線、
$
、恣意字母或数字。 - 變量名不能應用關鍵字
- 變量名對大小寫敏感。
js
是弱範例劇本言語,聲明變量時無需指明變量的數據範例,js
是詮釋時動態決議的,數據保留在內存中時也是有數據範例的,經常使用數據範例以下:
- 數值範例(
number
):包括整數和浮點數 - 布爾範例(
boolean
):只要true
或false
兩個值 - 字符串範例(
string
):字符串必須用單引號或雙引號括起來 - 對象範例(
object
) - 數組範例(
array
) - 未定義範例(
undefined
):特地用來肯定一個已建立然則沒有初值的變量 - 空範例(
null
):用來表明某個變量的值為空 -
NaN
:非數值型
注:undefined
和null
的值相稱,範例差別。 兩個字符串是不是相稱,可用==
來推斷。
數據範例轉換:
+
號或許toString()
:數值number
範例轉換成字符串 parseInt()
:將字符串轉為整型 parseFloat()
:將字符串轉換為浮點型
注重:
parseInt('67red') -> 67
(字符串轉為整型的時刻會自動截取前面的数字,背面的疏忽)parseInt('red67') -> NaN
(字符串前面沒有数字,會報not a number
毛病)
字符串經常使用要領:
stringObject.charAt(index):獵取字符串特定索引處的字符
index:下標(假如不在0~stringObject.length-1的範圍內,返回'')
返回值:string
stringObject.toUpperCase():將字符串的一切字符轉換成大寫字母
返回值:string
stringObject.toLowerCase():將字符串的一切字符轉換成小寫字母
返回值:string
stringObject.substring(start, end):提取字符串中介於兩個指定下標之間的字符
start:必須,字符串中最先位置
end:非必須,字符串中完畢位置,假如不指定,會一直到字符串的末端
返回值:string
arrayObject.slice(start, end):提取字符串中介於兩個指定下標之間的字符,可指定負數
start:必須,字符串中最先位置
end:非必須,字符串中完畢位置,假如不指定,會一直到字符串的末端
返回值:string
stringObject.indexOf(searchvalue,fromindex):返回某個指定的字符串值在字符串中初次湧現的位置
searchvalue:必須,須要查找的字符串
fromindex:非必須,字符串的指定位置,假如不指定,會從字符串的最先位置最先查找
返回值:number
stringObject.replace(regexp/substr,replacement):將字符串中的某個子串以特定的字符串替代
regexp/substr:須要替代的字符串
replacement:替代字符串的值
返回值:string
stringObject.split(separator,limit):
separator 必須,分隔符
limit 可選。該參數可指定返回的數組的最大長度,假如不指定,全部字符串都會被支解
返回值:string數組
stringObject.concat(str1, str2...):用於將多個字符串拼加成一個字符串
str1:字符串
返回值:string
注重:
- 用字符串做加法的時刻,會做字符串拼接事情
- 用字符串做減法、乘法、除法的時刻,會將字符串轉換成數值範例舉行減法、乘法、除法運算
js
數組
三種定義數組的要領:
(1)定義時直接給數組變量賦值 var arr = [1, 2, 3];
(2)定義一個空數組 var arr = [];
(3)用new
要領定義數組 var arr = new Array();
特性:
- 數組長度可變
- 統一數組中的元素範例能夠互不雷同
- 當接見未賦值的數組元素時,該元素值為
undefined
,不會數組越界
js
內里沒有數組越界的觀點,會顯現undefined
js
運算符
算術運算符:+ - * / % ++ --
賦值運算符:=
比較運算符:> < >= <= == != === !==
邏輯運算符:&& || !
位運算符:& | ~ ^ << >>
其他運算符:三目運算符(?:
) void
運算符:強行指定某個表達式的不會返回值
`typeof` 運算符:獵取某個變量的數據範例
`instanceof`運算符:推斷某個變量的數據範例是不是為指定的數據範例
`var a = void 3; //輸出為undefined`
`document.write(typeof(str)); //輸出為string`
` alert(arr instanceof Array); //輸出為true`
注重:js
中沒有繼續的觀點,一切的對象的父類都是object
js
流程掌握
js
支撐的分支語句重要有if
和switch
語句。
if(前提){
//表達式
}else{
//表達式
}
//注重:switch中表達式的值能夠是number範例,也能夠是string範例
switch(表達式){
case 值1: //表達式 break;
case 值1: //表達式 break;
...
default://表達式;
}
js
支撐的輪迴語句重要有while
輪迴,do-while
輪迴,for
輪迴,for-in
輪迴
//先推斷,后實行
while(輪迴前提){
//表達式
}
//先實行,后推斷,最少實行一次
do{
//表達式
}while(輪迴前提)
//當輪迴次數肯定的情況下,平常用for輪迴,更簡約
for(表達式1; 表達式2; 表達式3){
//表達式
}
//可用於遍歷對象,比方數組(數組遍歷的是下標,對象遍歷的是屬性,注重:都不是詳細的值)
for(變量 in 對象){
//表達式
}
//遍歷的是下標
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
來轉變輪迴的掌握流
-
break
:跳出該層輪迴 -
continue
:完畢該層輪迴的本次輪迴
經常使用的特別語句
語句是js
的基礎實行單位,每條語句都是以分號完畢,語句了前面的賦值語句、算術運算等語句以外,另有一些特別語句。
- 語句塊(包括在一對大括號里)
- 空語句(應用應用比較少)
- 非常拋出語句
throw new Error('非常拋出');
非常捕獲語句
try{ var age = 5; if(age == 5){ throw new Error('非常拋出'); } }catch(e){ document.write('失足:'+e.message); }finally{ document.write('總會實行的finally塊'); }