摘要:簡介俗稱,的正式名稱是,是網(wǎng)景公司公司開發(fā)的一種基于客戶端瀏覽器基于面向?qū)ο笫录?qū)動式的網(wǎng)頁腳本語言。變量名不能使用關(guān)鍵字變量名對大小寫敏感。
javascript簡介
javascript俗稱js,js的正式名稱是ECMAScript,是網(wǎng)景公司Netscape公司開發(fā)的一種基于客戶端瀏覽器、基于面向?qū)ο?、事件?qū)動式的網(wǎng)頁腳本語言。主要用于:交互式操作,表單驗證,網(wǎng)頁特效,web游戲,服務(wù)器腳本開發(fā)等;
特點
js是一種解釋性腳本編程語言
js是基于對象的腳本編程語言
簡單性
安全性(不能訪問本地硬盤)
動態(tài)性的
跨平臺性(依賴瀏覽器,與操作系統(tǒng)無關(guān))
三種使用方法
(1)使用onclick:屬性構(gòu)建執(zhí)行js代碼
點擊
(2)使用
(3)導(dǎo)入外部的javascript文件,讓html頁面和js腳本分離
javascript變量和數(shù)據(jù)類型
js是弱類型腳本語言,使用變量之前,可以無需定義,當(dāng)使用某個變量的時候直接使用即可。主要分為以下兩種定義方式:
(1)隱式定義:直接給變量賦值(隱式變量聲明的時候必須賦初值)
a = 10;
(2)顯示定義:使用var關(guān)鍵字定義變量(使用之前必須賦初值,不然會報undefined錯誤)
var a = 10;
變量命名規(guī)則:
首字母必須是字母、下劃線或者$符號。
余下的字母可以是下劃線、$、任意字母或數(shù)字。
變量名不能使用關(guān)鍵字
變量名對大小寫敏感。
js是弱類型腳本語言,聲明變量時無需指明變量的數(shù)據(jù)類型,js是解釋時動態(tài)決定的,數(shù)據(jù)保存在內(nèi)存中時也是有數(shù)據(jù)類型的,常用數(shù)據(jù)類型如下:
數(shù)值類型(number):包含整數(shù)和浮點數(shù)
布爾類型(boolean):只有true或false兩個值
字符串類型(string):字符串必須用單引號或雙引號括起來
對象類型(object)
數(shù)組類型(array)
未定義類型(undefined):專門用來確定一個已經(jīng)創(chuàng)建但是沒有初值的變量
空類型(null):用來表明某個變量的值為空
NaN:非數(shù)值型
注:undefined和null的值相等,類型不同。 兩個字符串是否相等,可用==來判斷。
數(shù)據(jù)類型轉(zhuǎn)換:
+號或者toString():數(shù)值number類型轉(zhuǎn)換成字符串
parseInt():將字符串轉(zhuǎn)為整型
parseFloat():將字符串轉(zhuǎn)換為浮點型
注意:
parseInt("67red") -> 67(字符串轉(zhuǎn)為整型的時候會自動截取前面的數(shù)字,后面的忽略)
parseInt("red67") -> NaN(字符串前面沒有數(shù)字,會報not a number錯誤)
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):提取字符串中介于兩個指定下標(biāo)之間的字符 start:必須,字符串中開始位置 end:非必需,字符串中結(jié)束位置,如果不指定,會一直到字符串的結(jié)尾 返回值:string arrayObject.slice(start, end):提取字符串中介于兩個指定下標(biāo)之間的字符,可指定負(fù)數(shù) start:必須,字符串中開始位置 end:非必需,字符串中結(jié)束位置,如果不指定,會一直到字符串的結(jié)尾 返回值:string stringObject.indexOf(searchvalue,fromindex):返回某個指定的字符串值在字符串中首次出現(xiàn)的位置 searchvalue:必須,需要查找的字符串 fromindex:非必須,字符串的指定位置,如果不指定,會從字符串的開始位置開始查找 返回值:number stringObject.replace(regexp/substr,replacement):將字符串中的某個子串以特定的字符串替換 regexp/substr:需要替換的字符串 replacement:替換字符串的值 返回值:string stringObject.split(separator,limit): separator 必需,分隔符 limit 可選。該參數(shù)可指定返回的數(shù)組的最大長度,如果不指定,整個字符串都會被分割 返回值:string數(shù)組 stringObject.concat(str1, str2...):用于將多個字符串拼加成一個字符串 str1:字符串 返回值:string
注意:
用字符串做加法的時候,會做字符串拼接工作
用字符串做減法、乘法、除法的時候,會將字符串轉(zhuǎn)換成數(shù)值類型進行減法、乘法、除法運算
js數(shù)組三種定義數(shù)組的方法:
(1)定義時直接給數(shù)組變量賦值
var arr = [1, 2, 3];
(2)定義一個空數(shù)組
var arr = [];
(3)用new方法定義數(shù)組
var arr = new Array();
特點:
數(shù)組長度可變
同一數(shù)組中的元素類型可以互不相同
當(dāng)訪問未賦值的數(shù)組元素時,該元素值為undefined,不會數(shù)組越界
js里面沒有數(shù)組越界的概念,會顯示undefined
js運算符算術(shù)運算符:+ - * / % ++ --
賦值運算符:=
比較運算符:> < >= <= == != === !==
邏輯運算符:&& || !
位運算符:& | ~ ^ << >>
其他運算符:三目運算符(?:)
void運算符:強行指定某個表達式的不會返回值
`typeof` 運算符:獲取某個變量的數(shù)據(jù)類型 `instanceof`運算符:判斷某個變量的數(shù)據(jù)類型是否為指定的數(shù)據(jù)類型 `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支持的循環(huán)語句主要有while循環(huán),do-while循環(huán),for循環(huán),for-in循環(huán)
//先判斷,后執(zhí)行 while(循環(huán)條件){ //表達式 } //先執(zhí)行,后判斷,至少執(zhí)行一次 do{ //表達式 }while(循環(huán)條件) //當(dāng)循環(huán)次數(shù)確定的情況下,一般用for循環(huán),更簡潔 for(表達式1; 表達式2; 表達式3){ //表達式 } //可用于遍歷對象,比如數(shù)組(數(shù)組遍歷的是下標(biāo),對象遍歷的是屬性,注意:都不是具體的值) for(變量 in 對象){ //表達式 } //遍歷的是下標(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)
常用的特殊語句
語句是js的基本執(zhí)行單元,每條語句都是以分號結(jié)束,語句了前面的賦值語句、算術(shù)運算等語句之外,還有一些特殊語句。
語句塊(包含在一對大括號里)
空語句(使用運用比較少)
異常拋出語句
throw new Error("異常拋出");
異常捕捉語句
try{ var age = 5; if(age == 5){ throw new Error("異常拋出"); } }catch(e){ document.write("出錯:"+e.message); }finally{ document.write("總會執(zhí)行的finally塊"); }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/107887.html
摘要:這個系列的文章將記錄我準(zhǔn)備春招的整個過程,我會將自己學(xué)習(xí)到的新知識記錄在這個系列里文章目錄前言說明準(zhǔn)備方向目標(biāo)前言說明作為半個科班出身學(xué)數(shù)學(xué)的應(yīng)屆生,在學(xué)習(xí)計算機的時候還是比較吃力的,從今年月份開始接觸前端,到現(xiàn)在也有個月左右了。 這個系列的文章將記錄我準(zhǔn)備春招的整個過程,我會將自己學(xué)習(xí)到的新知識記錄在這個系列里 文章目錄 前言說明 準(zhǔn)備方向 目標(biāo) 前言說明 ??作為半個科班出身...
摘要:這個系列的文章將記錄我準(zhǔn)備春招的整個過程,我會將自己學(xué)習(xí)到的新知識記錄在這個系列里文章目錄前言說明準(zhǔn)備方向目標(biāo)前言說明作為半個科班出身學(xué)數(shù)學(xué)的應(yīng)屆生,在學(xué)習(xí)計算機的時候還是比較吃力的,從今年月份開始接觸前端,到現(xiàn)在也有個月左右了。 這個系列的文章將記錄我準(zhǔn)備春招的整個過程,我會將自己學(xué)習(xí)到的新知識記錄在這個系列里 文章目錄 前言說明 準(zhǔn)備方向 目標(biāo) 前言說明 ??作為半個科班出身...
摘要:這個系列的文章將記錄我準(zhǔn)備春招的整個過程,我會將自己學(xué)習(xí)到的新知識記錄在這個系列里文章目錄前言說明準(zhǔn)備方向目標(biāo)前言說明作為半個科班出身學(xué)數(shù)學(xué)的應(yīng)屆生,在學(xué)習(xí)計算機的時候還是比較吃力的,從今年月份開始接觸前端,到現(xiàn)在也有個月左右了。 這個系列的文章將記錄我準(zhǔn)備春招的整個過程,我會將自己學(xué)習(xí)到的新知識記錄在這個系列里 文章目錄 前言說明 準(zhǔn)備方向 目標(biāo) 前言說明 ??作為半個科班出身...
閱讀 1972·2021-09-24 09:48
閱讀 3307·2021-08-26 14:14
閱讀 1876·2021-08-20 09:36
閱讀 1601·2019-08-30 15:55
閱讀 3705·2019-08-26 17:15
閱讀 1530·2019-08-26 12:09
閱讀 695·2019-08-26 11:59
閱讀 3407·2019-08-26 11:57