成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

前端學(xué)習(xí)記錄(JS篇)

Keagan / 3406人閱讀

摘要:簡介俗稱,的正式名稱是,是網(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):只有truefalse兩個值

字符串類型(string):字符串必須用單引號或雙引號括起來

對象類型(object)

數(shù)組類型(array

未定義類型(undefined):專門用來確定一個已經(jīng)創(chuàng)建但是沒有初值的變量

空類型(null):用來表明某個變量的值為空

NaN:非數(shù)值型

注:undefinednull的值相等,類型不同。 兩個字符串是否相等,可用==來判斷。

數(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支持的分支語句主要有ifswitch語句。

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提供了breakcontinue來改變循環(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

相關(guān)文章

  • 深入理解js

    摘要:詳解十大常用設(shè)計模式力薦深度好文深入理解大設(shè)計模式收集各種疑難雜癥的問題集錦關(guān)于,工作和學(xué)習(xí)過程中遇到過許多問題,也解答過許多別人的問題。介紹了的內(nèi)存管理。 延遲加載 (Lazyload) 三種實現(xiàn)方式 延遲加載也稱為惰性加載,即在長網(wǎng)頁中延遲加載圖像。用戶滾動到它們之前,視口外的圖像不會加載。本文詳細(xì)介紹了三種延遲加載的實現(xiàn)方式。 詳解 Javascript十大常用設(shè)計模式 力薦~ ...

    caikeal 評論0 收藏0
  • 前端面試系列--前言

    摘要:這個系列的文章將記錄我準(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) 前言說明 ??作為半個科班出身...

    sshe 評論0 收藏0
  • 前端面試系列--前言

    摘要:這個系列的文章將記錄我準(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) 前言說明 ??作為半個科班出身...

    zsirfs 評論0 收藏0
  • 前端面試系列--前言

    摘要:這個系列的文章將記錄我準(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) 前言說明 ??作為半個科班出身...

    Freelander 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<