摘要:最近在看語言精粹這本書,建立完整的知識體系。一關于語言是一門未在實驗室打磨過的語言,存在這很多考慮不全面甚至,因此我們很有必要學習本書,已達到去除糟粕,取其精華的效果。則為定義了,為初始化的變量。為對象,數(shù)組函數(shù)均屬于特殊的對象。
最近在看JavaScript語言精粹這本書,建立完整的js知識體系。
一.關于JavaScript語言
js是一門未在實驗室打磨過的語言,存在這很多考慮不全面、甚至bug,因此我們很有必要學習本書,已達到去除糟粕,取其精華的效果。
當前JavaScript已成為瀏覽器通用語言,其重要性不言而喻,需要提的一點是,其DOM和BOM編寫的十分糟糕,老道稱寫一本關于BOM或者DOM精華的書是一項不可能完成的任務.
優(yōu)點:①函數(shù) ②弱類型 ③對象字面量 ④動態(tài)對象
缺點:全局變量的編程模式
JavaScript為單線程語言,自上至下依次執(zhí)行,遇到函數(shù)調用、break語句、return語句可改變程序的執(zhí)行順序。
二.語法
數(shù)據類型:number、Boolean、string、null、undefined、object。
其中number類型不區(qū)分整型和浮點型(即1和1.0全等)
Boolean包括true和false(小寫,大寫或其他寫法則不是Boolean類型)
string:用單引號或雙引號包裹的0個或者多個字符(其中字符串一旦創(chuàng)建,永遠無法改變,string的一些方法只是生成了新字符串或者復制操作,不會改變原字符串)
null一般用來聲名空對象,typeof null值為object。
undefined則為定義了,為初始化的變量。
object為對象,數(shù)組、函數(shù)均屬于特殊的對象。
語句:條件語句,循環(huán)語句、break語句(用于循環(huán)語句、switch語句中)、return語句(用于函數(shù)中,終止函數(shù)運行)
循環(huán)語句:for語句、while語句、do-while語句(其中for有兩種形式,for-in語句用于對象的枚舉,使用時要判斷屬性是否存在 hasOwnProperty檢測)
三、字符串(用單引號或雙引號包裹的0個或者多個字符)
其中字符串一旦創(chuàng)建,永遠無法改變
1、URL中提取key值:(用了字符串中的slice、split方法和數(shù)組中的filter、indexOf方法)
function getURLkey(name){ return decodeURIComponent(window.location.search.slice(1).split("&&").filter((item)=>{return item.indexOf(name)!==-1})[0].split("=")[1]) }
四.對象(用大括號包裹的0個或多個鍵值對,其中key可為任意字符串,value值為除undefined外的任意值)
對象為按引用傳遞,創(chuàng)建后不可被復制。
五.數(shù)組(用方括號包裹的0個或多個用逗號隔開的表達式)
js的數(shù)組不是嚴格意義上的數(shù)組,因此效率略低,但其有自己的特點,使用方便,含有很多內置方法,有l(wèi)ength屬性了, 沒有數(shù)組越界情況,可自動擴容.
數(shù)組中的值可以是不同類型的
六.函數(shù) (被老道成為js中最出色的設計,接近完美)
可以被調用的對象,有自己的作用域.
函數(shù)的調用:函數(shù)的調用,即傳遞程序的運行的環(huán)境和參數(shù)給被調用函數(shù).
根據this取值和綁定時機不同,可分為四種調用方式:
①方法調用.對象才有方法,函數(shù)為對象中的屬性值, O.test()(方法后跟隨一對小括號-調用符號),此時,this為調用的對象O,運行時綁定.
②函數(shù)調用.this為全局對象.(老道稱此為js設計時的錯誤,即在對象內部調用函數(shù)時,函數(shù)的this指向全局變量,而非當前對象的內部作用域,解決方法that=this)
③構造器調用(不常用,且晦澀).
使用new創(chuàng)建函數(shù),然后調用.
④apply調用.
apply方法可傳入兩個參數(shù),第一個參數(shù)是需要綁定的this值,第二個是需要傳入的參數(shù)(數(shù)組形式),call為連續(xù)出入參數(shù).
遞歸方法.效率高,速度快,特別是操作DOM文檔.
七.正則表達式。(高效操作字符串的方法,比string的自帶的方法速度快)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/101283.html
摘要:如果在初學一門語言的時候第一想到的是問別人,是很難取得進步的。如果你真想學好,我有個大概的自學軌跡供你們參考。第一步,學習的編程。立即可以嘗試的實例,也可以讓的初學者馬上看到效果。讀懂別人的代碼是學習,而改進別人的代碼則是創(chuàng)造了。 javascript入門太容易了,導致幾乎人人隨便看看就能上手,零基礎的人學個三五天都能對外宣稱自己掌握了js。可是真正掌握js是一件很難的事情。如果在初學...
摘要:在有了基礎之后,進一步學習內容包括框架。前端學習交流群禁止閑聊,非喜勿進。代碼提交前必須做的三個事情檢查所有變更跑一邊單元測試手動運行一遍所有 網站開發(fā)開發(fā)大致分為前端和后端,前端主要負責實現(xiàn)視覺和交互效果,以及與服務器通信,完成業(yè)務邏輯。其核心價值在于對用戶體驗的追求。可以按如下思路學習系統(tǒng)學習: 基礎知識: html + css 這部分建議在?w3school 在線教程上學習,邊...
摘要:在有了基礎之后,進一步學習內容包括框架。前端學習交流群禁止閑聊,非喜勿進。代碼提交前必須做的三個事情檢查所有變更跑一邊單元測試手動運行一遍所有 網站開發(fā)開發(fā)大致分為前端和后端,前端主要負責實現(xiàn)視覺和交互效果,以及與服務器通信,完成業(yè)務邏輯。其核心價值在于對用戶體驗的追求。可以按如下思路學習系統(tǒng)學習: 基礎知識: html + css 這部分建議在?w3school 在線教程上學習,邊...
摘要:本文最早為雙十一而作,原標題雙大前端工程師讀書清單,以付費的形式發(fā)布在上。發(fā)布完本次預告后,捕捉到了一個友善的吐槽讀書清單也要收費。這本書便從的異步編程講起,幫助我們設計快速響應的網絡應用,而非簡單的頁面。 本文最早為雙十一而作,原標題雙 11 大前端工程師讀書清單,以付費的形式發(fā)布在 GitChat 上。發(fā)布之后在讀者圈群聊中和讀者進行了深入的交流,現(xiàn)免費分享到這里,不足之處歡迎指教...
閱讀 2589·2021-10-25 09:45
閱讀 1249·2021-10-14 09:43
閱讀 2307·2021-09-22 15:23
閱讀 1532·2021-09-22 14:58
閱讀 1942·2019-08-30 15:54
閱讀 3550·2019-08-30 13:00
閱讀 1364·2019-08-29 18:44
閱讀 1578·2019-08-29 16:59