摘要:簡(jiǎn)介俗稱,的正式名稱是,是網(wǎng)景公司公司開(kāi)發(fā)的一種基于客戶端瀏覽器基于面向?qū)ο笫录?qū)動(dòng)式的網(wǎng)頁(yè)腳本語(yǔ)言。變量名不能使用關(guān)鍵字變量名對(duì)大小寫敏感。
javascript簡(jiǎn)介
javascript俗稱js,js的正式名稱是ECMAScript,是網(wǎng)景公司Netscape公司開(kāi)發(fā)的一種基于客戶端瀏覽器、基于面向?qū)ο?、事件?qū)動(dòng)式的網(wǎng)頁(yè)腳本語(yǔ)言。主要用于:交互式操作,表單驗(yàn)證,網(wǎng)頁(yè)特效,web游戲,服務(wù)器腳本開(kāi)發(fā)等;
特點(diǎn)
js是一種解釋性腳本編程語(yǔ)言
js是基于對(duì)象的腳本編程語(yǔ)言
簡(jiǎn)單性
安全性(不能訪問(wèn)本地硬盤)
動(dòng)態(tài)性的
跨平臺(tái)性(依賴瀏覽器,與操作系統(tǒng)無(wú)關(guān))
三種使用方法
(1)使用onclick:屬性構(gòu)建執(zhí)行js代碼
點(diǎn)擊
(2)使用
(3)導(dǎo)入外部的javascript文件,讓html頁(yè)面和js腳本分離
javascript變量和數(shù)據(jù)類型
js是弱類型腳本語(yǔ)言,使用變量之前,可以無(wú)需定義,當(dāng)使用某個(gè)變量的時(shí)候直接使用即可。主要分為以下兩種定義方式:
(1)隱式定義:直接給變量賦值(隱式變量聲明的時(shí)候必須賦初值)
a = 10;
(2)顯示定義:使用var關(guān)鍵字定義變量(使用之前必須賦初值,不然會(huì)報(bào)undefined錯(cuò)誤)
var a = 10;
變量命名規(guī)則:
首字母必須是字母、下劃線或者$符號(hào)。
余下的字母可以是下劃線、$、任意字母或數(shù)字。
變量名不能使用關(guān)鍵字
變量名對(duì)大小寫敏感。
js是弱類型腳本語(yǔ)言,聲明變量時(shí)無(wú)需指明變量的數(shù)據(jù)類型,js是解釋時(shí)動(dòng)態(tài)決定的,數(shù)據(jù)保存在內(nèi)存中時(shí)也是有數(shù)據(jù)類型的,常用數(shù)據(jù)類型如下:
數(shù)值類型(number):包含整數(shù)和浮點(diǎn)數(shù)
布爾類型(boolean):只有true或false兩個(gè)值
字符串類型(string):字符串必須用單引號(hào)或雙引號(hào)括起來(lái)
對(duì)象類型(object)
數(shù)組類型(array)
未定義類型(undefined):專門用來(lái)確定一個(gè)已經(jīng)創(chuàng)建但是沒(méi)有初值的變量
空類型(null):用來(lái)表明某個(gè)變量的值為空
NaN:非數(shù)值型
注:undefined和null的值相等,類型不同。 兩個(gè)字符串是否相等,可用==來(lái)判斷。
數(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(字符串前面沒(méi)有數(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:必須,字符串中開(kāi)始位置 end:非必需,字符串中結(jié)束位置,如果不指定,會(huì)一直到字符串的結(jié)尾 返回值:string arrayObject.slice(start, end):提取字符串中介于兩個(gè)指定下標(biāo)之間的字符,可指定負(fù)數(shù) start:必須,字符串中開(kāi)始位置 end:非必需,字符串中結(jié)束位置,如果不指定,會(huì)一直到字符串的結(jié)尾 返回值:string stringObject.indexOf(searchvalue,fromindex):返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置 searchvalue:必須,需要查找的字符串 fromindex:非必須,字符串的指定位置,如果不指定,會(huì)從字符串的開(kāi)始位置開(kāi)始查找 返回值: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
注意:
用字符串做加法的時(shí)候,會(huì)做字符串拼接工作
用字符串做減法、乘法、除法的時(shí)候,會(huì)將字符串轉(zhuǎn)換成數(shù)值類型進(jìn)行減法、乘法、除法運(yùn)算
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):
數(shù)組長(zhǎng)度可變
同一數(shù)組中的元素類型可以互不相同
當(dāng)訪問(wèn)未賦值的數(shù)組元素時(shí),該元素值為undefined,不會(huì)數(shù)組越界
js里面沒(méi)有數(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中沒(méi)有繼承的概念,所有的對(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來(lái)改變循環(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ǔ)句。
語(yǔ)句塊(包含在一對(duì)大括號(hào)里)
空語(yǔ)句(使用運(yùn)用比較少)
異常拋出語(yǔ)句
throw new Error("異常拋出");
異常捕捉語(yǔ)句
try{ var age = 5; if(age == 5){ throw new Error("異常拋出"); } }catch(e){ document.write("出錯(cuò):"+e.message); }finally{ document.write("總會(huì)執(zhí)行的finally塊"); }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/107887.html
摘要:詳解十大常用設(shè)計(jì)模式力薦深度好文深入理解大設(shè)計(jì)模式收集各種疑難雜癥的問(wèn)題集錦關(guān)于,工作和學(xué)習(xí)過(guò)程中遇到過(guò)許多問(wèn)題,也解答過(guò)許多別人的問(wèn)題。介紹了的內(nèi)存管理。 延遲加載 (Lazyload) 三種實(shí)現(xiàn)方式 延遲加載也稱為惰性加載,即在長(zhǎng)網(wǎng)頁(yè)中延遲加載圖像。用戶滾動(dòng)到它們之前,視口外的圖像不會(huì)加載。本文詳細(xì)介紹了三種延遲加載的實(shí)現(xiàn)方式。 詳解 Javascript十大常用設(shè)計(jì)模式 力薦~ ...
摘要:這個(gè)系列的文章將記錄我準(zhǔn)備春招的整個(gè)過(guò)程,我會(huì)將自己學(xué)習(xí)到的新知識(shí)記錄在這個(gè)系列里文章目錄前言說(shuō)明準(zhǔn)備方向目標(biāo)前言說(shuō)明作為半個(gè)科班出身學(xué)數(shù)學(xué)的應(yīng)屆生,在學(xué)習(xí)計(jì)算機(jī)的時(shí)候還是比較吃力的,從今年月份開(kāi)始接觸前端,到現(xiàn)在也有個(gè)月左右了。 這個(gè)系列的文章將記錄我準(zhǔn)備春招的整個(gè)過(guò)程,我會(huì)將自己學(xué)習(xí)到的新知識(shí)記錄在這個(gè)系列里 文章目錄 前言說(shuō)明 準(zhǔn)備方向 目標(biāo) 前言說(shuō)明 ??作為半個(gè)科班出身...
摘要:這個(gè)系列的文章將記錄我準(zhǔn)備春招的整個(gè)過(guò)程,我會(huì)將自己學(xué)習(xí)到的新知識(shí)記錄在這個(gè)系列里文章目錄前言說(shuō)明準(zhǔn)備方向目標(biāo)前言說(shuō)明作為半個(gè)科班出身學(xué)數(shù)學(xué)的應(yīng)屆生,在學(xué)習(xí)計(jì)算機(jī)的時(shí)候還是比較吃力的,從今年月份開(kāi)始接觸前端,到現(xiàn)在也有個(gè)月左右了。 這個(gè)系列的文章將記錄我準(zhǔn)備春招的整個(gè)過(guò)程,我會(huì)將自己學(xué)習(xí)到的新知識(shí)記錄在這個(gè)系列里 文章目錄 前言說(shuō)明 準(zhǔn)備方向 目標(biāo) 前言說(shuō)明 ??作為半個(gè)科班出身...
摘要:這個(gè)系列的文章將記錄我準(zhǔn)備春招的整個(gè)過(guò)程,我會(huì)將自己學(xué)習(xí)到的新知識(shí)記錄在這個(gè)系列里文章目錄前言說(shuō)明準(zhǔn)備方向目標(biāo)前言說(shuō)明作為半個(gè)科班出身學(xué)數(shù)學(xué)的應(yīng)屆生,在學(xué)習(xí)計(jì)算機(jī)的時(shí)候還是比較吃力的,從今年月份開(kāi)始接觸前端,到現(xiàn)在也有個(gè)月左右了。 這個(gè)系列的文章將記錄我準(zhǔn)備春招的整個(gè)過(guò)程,我會(huì)將自己學(xué)習(xí)到的新知識(shí)記錄在這個(gè)系列里 文章目錄 前言說(shuō)明 準(zhǔn)備方向 目標(biāo) 前言說(shuō)明 ??作為半個(gè)科班出身...
閱讀 1876·2021-09-24 09:48
閱讀 3220·2021-08-26 14:14
閱讀 1674·2021-08-20 09:36
閱讀 1461·2019-08-30 15:55
閱讀 3628·2019-08-26 17:15
閱讀 1426·2019-08-26 12:09
閱讀 607·2019-08-26 11:59
閱讀 3324·2019-08-26 11:57