javascript簡介
javascript俗稱js,js的正式名稱是ECMAScript,是網景公司Netscape公司開發的一種基于客戶端瀏覽器、基于面向物件、事件驅動式的網頁腳本語言,主要用于:互動式操作,表單驗證,網頁特效,web游戲,服務器腳本開發等;
特點
js是一種解釋性腳本編程語言js是基于物件的腳本編程語言- 簡單性
- 安全性(不能訪問本地硬碟)
- 動態性的
- 跨平臺性(依賴瀏覽器,與作業系統無關)
三種使用方法
(1)使用onclick:屬性構建執行js代碼
<a href="https://www.cnblogs.com/jackw1/p/#" onclick="alert(1)">點擊</a>
(2)使用<script../>標簽來包含js代碼
<script type="text/javascript">
alert('Hello, world');
</script>
(3)匯入外部的javascript檔案,讓html頁面和js腳本分離
<script src="https://www.cnblogs.com/jackw1/p/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塊'); }
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/138141.html
標籤:JavaScript
上一篇:JavaScript連載1-基本簡介(組成、關系、表示形式等)
下一篇:js擴展
