一篇文章能夠看懂基礎(chǔ)源代碼之JavaScript篇-創(chuàng)新互聯(lián)

javascript:解釋型語言,使用js引擎進(jìn)行解釋,目前常用版本為ECMAScript6

創(chuàng)新互聯(lián)服務(wù)項目包括魚臺網(wǎng)站建設(shè)、魚臺網(wǎng)站制作、魚臺網(wǎng)頁制作以及魚臺網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,魚臺網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到魚臺省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

js分為三部分:DOM,BOM,ECMAScript

DOM:Document Object Model 文檔對象模型

BOM:Browser Object Model 瀏覽器對象模型

ESCMAScript:腳本執(zhí)行

DOM:主要負(fù)責(zé)控制頁面組件的顯示,各種web組件元素的顯示

BOM:主要是負(fù)責(zé)瀏覽器的操作,例如地址欄的數(shù)據(jù)操作,瀏覽器網(wǎng)頁顯示窗口的關(guān)閉,大小,加載操作,導(dǎo)航前進(jìn)后退操作,

瀏覽器瀏覽過程可以參看之前發(fā)過的文章:

BS架構(gòu)瀏覽過程原理(一)

BS架構(gòu)瀏覽過程原理(二)

javascript源碼后綴名一般為js,可以直接在html里面寫代碼,也可以另外存一個js文件,然后在html代碼里引入,單獨寫js文件時只需要直接寫內(nèi)容即可

在html代碼里直接使用
<script type="text/javascript">
//內(nèi)聯(lián)js代碼
</script>
<script>
//內(nèi)聯(lián)js代碼
</script>
在js文件里書寫代碼,則在html使用引入的方式
<script src="Myjs.js"></script>

  1. 聲明變量:
    var myVar = 0; //推薦寫法是代碼行結(jié)束不用寫分號;,不過推薦變來變?nèi)サ?,沒有統(tǒng)一
    let myVar = '1' //let是推薦聲明變量的,因為let的作用域只在本代碼塊里,而var一不注意可能會導(dǎo)致變量變成全局變量
    let myArr = [1,2,3] //聲明數(shù)組變量
    let myObj = {a: 1, b: '2'} //聲明一個對象實例
    myObj.a //獲取對象的a屬性
    myObj['b'] //獲取對象的b屬性
    //變量前置,如果使用var聲明了變量,那么即使var語句在最后,變量在前面使用也不會報錯,但如果沒有聲明直接使用變量則會報錯。賦值除外,例如:
    console.log(a) ---->undefined
    b = 20 ---->不會錯
    console.log(c) ------>報錯
    var a = 10

  2. 聲明方法:
    function myFunc() {} //不帶參
    function myFunc(myParam) {} //帶參
    當(dāng)調(diào)用方法時,如果方法沒有返回值,那么得到的是undefined
    let a = myFunc() // a=undefined
    給函數(shù)的原型鏈再追加內(nèi)容:此時myFunc相當(dāng)于一個類,需要new實例化才能調(diào)用追加的內(nèi)容
    myFunc.prototype.newMethod = function () {}

  3. 函數(shù)的調(diào)用和對象的實例化
    當(dāng)直接調(diào)用函數(shù)時,myFunc(),得到的效果是執(zhí)行一次函數(shù)方法
    let a = myFunc() // a=undefined
    當(dāng)使用new myFunc()時,得到的效果是實例一個對象,并執(zhí)行一次函數(shù)方法,此時得到的是一個對象實例
    let a = new myFunc() // a是myFunc的實例對象

  4. 聲明一個類:
    ES6有關(guān)于類的定義,在后端應(yīng)用中會把類class編譯functon的代碼,所以后端能夠識別,但直接寫在前端時,瀏覽器是無法正確識別。需要編譯瀏覽器才能識別
    class MyJsClass{
    constructor() {} //無參構(gòu)造函數(shù)
    constructor (myVar) {} //有參構(gòu)造函數(shù)
    myMethod() {} //聲明方法
    }
    //繼承
    class MySon extends MyFather{}
    另外一種方式聲明類:
    function MyFuncClass () {}
    MyFuncClass.myStaticMethod = function (){} //給類掛載一個靜態(tài)方法
    MyFuncClass.myStaticMethod()//調(diào)用靜態(tài)方法,不能通過實例對象調(diào)用
    MyFuncClass.prototype.myMethod = function () {}//相當(dāng)于聲明一個方法,實例可以調(diào)用
    new MyFuncClass().myMethod() //調(diào)用實例方法
    let myAnnoFunc = function () {} //聲明一個函數(shù),可以通過myAnnoFunc()調(diào)用
    //閉包:把外部不能獲得的內(nèi)容通過return出去,導(dǎo)致外部獲得內(nèi)部的引用,使用不當(dāng)會導(dǎo)致內(nèi)存溢出

    function a() {
            let myInnerVar = 1 
            let b = function () {
                return myInnerVar
             }
            return b
        }
  5. 箭頭函數(shù) :簡化function的寫法
    myVar => { 執(zhí)行體}
    myVar => 執(zhí)行語句
    (myVar1,myVar2) =>{執(zhí)行體}

  6. 運(yùn)算符,算術(shù)運(yùn)算,邏輯運(yùn)算

        • / % ++ -- && || !
  7. 邏輯判斷:
    if (myCondition){}
    else if (condition2) {}
    else {}

  8. 循環(huán):

    for(let i=0;i<10;i++){}
    
    for(let a in myObj){}
    
    myArr.forEach(item =>{})
    
    myArr.forEach((item,index) => {})
    
    do {} while (condition)
    
    while (condition) {}
    //分支:
    switch (myVar) {
        case 1:
             //do
             break
        case 2:
             break
        default:
                break
    }

    所有未聲明的卻使用的變量會報undefined
    如果對undefined對象進(jìn)行讀取屬性的操作會報Error

  9. 自執(zhí)行函數(shù) :(function(){})() //函數(shù)自執(zhí)行
    window對象是整個js對象的根對象,所有的內(nèi)容都是掛載在window下的,稱為全局變量和全局函數(shù)
    window.myProp
    window.myMethod()
    函數(shù)自執(zhí)行后相當(dāng)于把內(nèi)容掛載在windows上,例如
    (function(){
    myProp = 10
    })()
    執(zhí)行后相當(dāng)于window.myProp = 10

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站欄目:一篇文章能夠看懂基礎(chǔ)源代碼之JavaScript篇-創(chuàng)新互聯(lián)
本文路徑:http://muchs.cn/article38/ceehsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站建設(shè)、定制網(wǎng)站、微信公眾號、網(wǎng)站策劃域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)