簡介 _ 俗稱 ,`js ECMAScript Netscape web`游戲,伺服器腳本開發等;_ 特點 是一種解釋性腳本編程語言 是基於對象的腳本編程語言 簡單性 安全性(不能訪問本地硬碟) 動態性的 跨平臺性(依賴瀏覽器,與操作系統無關) 三種使用方法 (1)使用 :屬性構建執行 代碼 點擊 ...
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塊'); }