知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
您當前位置>首頁 » 新聞資訊 » 網(wǎng)站建設 >
Web前端開發(fā)高級前端技術(高級開發(fā)程序篇)
發(fā)表時間:2020-1-27
發(fā)布人:葵宇科技
瀏覽次數(shù):52
(給達達前端加星標,提升前端技能)
內(nèi)容有點多,也請你靜下來,慢閱讀,今后多多關照。
說到web前端開發(fā)高級,必須要掌握的是HTML和css代碼的優(yōu)化,前端優(yōu)化很重要,這是成功你進階的道路上需要重視的知識點,面對代碼優(yōu)化,首先我們要學習的就是前端命名規(guī)范,HTML代碼優(yōu)化,和css代碼優(yōu)化。
前端命名規(guī)范是很重要的,一直說很重要,當你用過別人的代碼進行重構時,你會知道,如果你看到一長串代碼,不了解之前的人是怎么寫的,開局全靠猜,結局就是不斷地浪費時間。
掌握前端優(yōu)化目錄的學習
前端命名規(guī)范,前端結構的組織,文件的命名規(guī)范,在一個項目中代碼的組織結構要清晰易懂,同類型文件可以歸類到到相同的文件夾中,文件命名規(guī)則需要統(tǒng)一且命名要有意義。這里要有意義是指命名要通俗易懂,英文單詞可以寫縮寫,不必故步自封,寫那么長的單詞。
命名規(guī)范在前端領域,涉及HTML,css,JavaScript,在HTML代碼所有的標簽名和屬性應該都為小寫,屬性值應該用引號括起來。元素的id和class都要按照規(guī)定命名,代碼縮進時要縮進,進行格式化,讓代碼美觀,有時可以給HTML代碼添加必要注解。
對于css命名的規(guī)范,盡量使用class選擇器進行樣式的定義,類命名時取父元素的class名作為前綴,使用-符號進行連接。類名與樣式之間以空格進行分割。
對于JavaScript命名規(guī)范,變量名是區(qū)分大小寫,第一個字符是不允許為數(shù)字的,不允許是空格,不允許其他標簽符號,盡量使用有意義的命名,不要使用JavaScript的關鍵詞,或者是保留字。
進行前端代碼的優(yōu)化,優(yōu)化HTML代碼為了能夠使網(wǎng)站更好的搜索,讓用戶更快速搜索到我們的網(wǎng)站,寫好HTML代碼使用正確的閉合HTML標簽,進行HTML代碼層級間的合理縮進,屬性值需要使用雙引號,結構與樣式進行有效的分離,結構與行為進行有效的分離。
進行HTML語義化標簽,HTML5提供的一些新的語義化元素來明確一個web頁面的不同部分,有:
優(yōu)化前端效果,可以刪除多余容器元素,讓代碼層次少,避免使用table進行頁面的布局,換成用div+css的樣式布局。
css代碼優(yōu)化,在各個瀏覽器中,相同元素解析的結果不同,就需要手動重置一些樣式。
去除標簽的默認樣式,如p,li,input等。
HTML5新標簽設置為display:block。
重置一些元素的樣式如超鏈接,字號等樣式。
css樣式選擇器的優(yōu)先級
對于css樣式選擇器,優(yōu)先級高的會覆蓋優(yōu)先級低的。
第一,id選擇器的權重為100,第二,類選擇器的權重為10,第三,標簽選擇器的權重為1。
注意,css樣式中盡量不要使用id選擇器,會降低代碼的復用性,盡量不要使用!important,會降低代碼的復用性,盡量減少子選擇器的層級。
css樣式多余樣式去除,和結構優(yōu)化
定義簡潔的css樣式規(guī)則,合并相關css樣式規(guī)則,定義簡潔的屬性值,合并相同的,刪除無效的。
sprite拼合圖
css sprite,也叫 css 精靈,雪碧圖。
是一種將雪散的背景圖合并成一張大圖,再次利用css的background-position屬性進行背景的定位從而達到減少圖片請求數(shù)量達到加快加載速度的網(wǎng)頁應用處理方式。
background屬性
background-color,描述規(guī)定要使用的背景顏色
background-position,描述規(guī)定背景圖片的位置
background-size,描述規(guī)定背景圖片的尺寸
background-repeat,描述規(guī)定如何重復背景圖像
background-origin,描述規(guī)定背景圖片的定位區(qū)域
background-clip,描述規(guī)定背景的繪制區(qū)域
background-attachment,描述規(guī)定背景圖片是否固定或者隨著頁面的其余部分滾動
background-image,描述規(guī)定要使用的背景圖像
background-position屬性
top,left,center,right,center等等,top表示垂直位置最頭部,bottom表示垂直位置最底部,left表示水平位置最左邊,center表示水平位置居中,right表示為水平位置最右邊。
x% y%
第一個值是水平位置,第二個值是垂直位置。
左上角是 0% 0%。右下角是 100% 100%。
如果您僅規(guī)定了一個值,另一個值將是 50%。
xpos ypos
第一個值是水平位置,第二個值是垂直位置。
左上角是 0 0。
單位是像素 (0px 0px) 或任何其他的 CSS 單位。
如果您僅規(guī)定了一個值,另一個值將是50%。
您可以混合使用 % 和 position 值。
css sprite的制作工具
css sprite制作工具,photoshop和打包工具webpack來制作。
打包工具,現(xiàn)在流行的很多前端打包工具都有支持css sprite的集成,如
webpack中只要安裝webpack-spritesmith依賴,然后在配置文件中引用依賴var SpritesmithPlugin = require('webpack-spritesmith'),最后在配置文件中添加代碼。
代碼壓縮,打包工具
前端優(yōu)化,壓縮JavaScript和css是非常重要的。目前最常用的壓縮JavaScript代碼的工具之一有UglifyJS,它會分析JavaScript代碼語法樹,理解代碼含義,從而能做到諸如去掉無效代碼,去掉日志輸出代碼,縮短變量名等優(yōu)化。
在webpack中接入UglifyJS需要通過插件的形式,UgllifyJsPlugin是比較常用的插件,通過在webpack的配置文件webpack.config.js中加入以下代碼即可。
壓縮css代碼常用的是CSSNANO,是基于PostCSS的,可以讓我們的代碼達到提升加載速度和代碼混淆的作用。
圖片的預加載
預加載簡單來說就是將所有所需的資源提前請求加載到本地,這樣需要用到時就可以直接從緩存中取資源了。
圖片的懶加載
首屏的加載,就是用圖片懶加載技術,即是到可視區(qū)域再加載。
圖片懶加載,使用jquery.lazyload.js,該js是一個基于Jquery的懶加載插件,里面封裝了懶加載用到的方法以及實現(xiàn),第二種是echo.js,它是一款非常簡單實用輕量級的圖片延時加載插件。
JavaScript代碼優(yōu)化
JavaScript代碼可維護性
什么是代碼與結構分離呢
代碼與結構分離,就是把HTML代碼和JavaScript代碼進行分離,第一在HTML中分離JavaScript,第二,在JavaScript中分離HTML。
什么是樣式與結構分離呢
樣式與結構分離,就是把css代碼和HTML代碼進行有效分離。
什么是數(shù)據(jù)與代碼分離呢
數(shù)據(jù)與代碼分離,也可以認為是前后端分離的表現(xiàn),后端接口只負責返回json格式的數(shù)據(jù),不會返回帶標簽甚至是帶樣式或者帶JavaScript的組合數(shù)據(jù)。
JavaScript的代碼可調(diào)式性
代碼可調(diào)式性,可以用console.log,debugger,alert,try...catch捕獲異常來進行JavaScript的調(diào)試。
console.log,即通過在JavaScript中添加console.log(msg)
msg為需要打印的信息,可以是變量,字符串,變量類型可以是數(shù)組,對象,數(shù)字等等。
debugger關鍵字用于停止執(zhí)行JavaScript,并調(diào)式函數(shù),這個關鍵字與調(diào)式工具中設置斷點的效果是一樣的。
alert和console.log一樣,alert通過在JavaScript中添加alert(msg),Msg為需要彈窗的信息,值得一提的是這個彈框是強制阻塞的,只要關閉該彈窗才能解除阻塞,所以要謹慎使用。
try...catch,用于try...catch...finally來進行異常的捕獲,try代碼塊表示可能發(fā)生異常的代碼,catch表示捕獲異常對象,finally無論是否發(fā)生異常都執(zhí)行。
evalError,typeError,syntaxError
referenceError,rangeError,URLError
JavaScript dom的優(yōu)化
提升文件的加載速度,合并JavaScript代碼,盡量少用script標簽,無堵塞加載JavaScript,通過給script標簽增加defer屬性或者是async屬性來實現(xiàn)
<script src="file.js" defer></script>
動態(tài)創(chuàng)建script標簽來加載,JavaScript dom操作優(yōu)化,dom訪問和修改,都說訪問dom耗性能,用循環(huán)訪問也是如此,所以要減少dom的訪問。
重排和重繪
用cssText改變樣式,批量修改dom。
JavaScript dom 腳本加載優(yōu)化
學習前端高級層次,掌握webpack入門
modules with dependencies webpack static assets
webpack是一個module bundler模塊構建工具,由于JavaScript應用程序的復雜性不斷增加,構建工具已經(jīng)成為web開發(fā)中不可或缺的一部分。
它幫助我們?nèi)ゴ虬?#xff0c;編譯和管理項目需要的眾多資源文件和依賴庫。webpack支持CommoonJS,AMD和ES6模塊系統(tǒng),并且兼容多種JS書寫規(guī)范,可以處理模塊間的依賴關系,所以具有更強大的JS模塊化的功能,它能壓縮圖片,對css, js 文件進行語法檢查,壓縮,編譯打包。
構建工具沒有標準
現(xiàn)在開發(fā)者可以用的構造構建工具有
webpack,gulp,bowserify,npm scripts,grunt等。
缺點有,不適合web開發(fā)的初學者,對于css,圖片,以及其他非Js資源文件時,需要先混淆處理,文檔不夠完善,變化很大,不同版本的使用方法存在較大的差異。
安裝
全局安裝,用于全局使用命令行打包文件
//安裝全局webpack
npm install webpack -g
//安裝全局webpack-cli
npm install webpack-cli -g
新建項目文件夾
進入項目文件夾,打開cmd命令行窗口
webpack -v
顯示版本號,說明webpack安裝成功,可以在全局任何目錄下使用
基本應用
SPA是什么,它是單頁應用程序。
single page web application,是webpack打包的典型應用,一個典型的SPA應用,主要由以下幾個部分組成。
index.html主文件,js文件,有多個js文件,可以通過webpack合并打包為一個文件,css文件,可以多個css文件,可以通過webpack合并打包為一個文件。圖片可以通過webpack壓縮優(yōu)化。
新建src文件夾,該文件夾存放開發(fā)用的文件,在src目錄下創(chuàng)建文件。
新建dist文件夾
該文件存放打包后的文件,可以先不創(chuàng)建,打包時可以自動創(chuàng)建。
打包,webpack-mode development,經(jīng)過打包后,已經(jīng)根據(jù)三個js依賴關系,打包合并為dist/main.js。
webpack --output文件名,輸出文件路徑
webpack --config文件名,用于指定其他配置文
默認為webpack.config.js
webpack --mode模式,打包模式 production,生成模式,developement開發(fā)模式。
webpack --watch 監(jiān)聽文件變化并自動打包
webpack -p 壓縮混淆腳本
webpack -d 生成Map映射文件
webpack --progress 顯示進度,打印出編譯進度的百分比值
webpack --color 用不同顏色標記不同的信息
webpack --profile 顯示每一步編譯的具體時間,可幫助優(yōu)化構建性能
webpack --hot 熱替換
webpack --bail 如果編譯過程出現(xiàn)error,立馬停止編譯
配置文件入門
通過定義配置文件進行復雜操作,文件名webpack.config.js
一個配置文件的基本結構:
entry,入口定義入口文件,默認文件./src/index.js
output,輸出定義出口文件,默認文件./dist/main.js
resolve,解析路徑映射,省略后綴名等
module,模塊定義不同loader,讓webpack能夠處理非JavaScript模塊
plugins,插件擴展webpack功能
devServer,開發(fā)服務器用于配置webpack-dev-server選項
簡單的配置文件
hello wrold例子:
修改webpack.json文件
配置詳細entry和output
entry入口配置是指頁面中的入口文件,默認入口文件./src/index.js
output出口配置是指生成的文件輸出到哪個地方去,./dist/main.js
path,輸出路徑,filename,輸出文件名
module,webpack只能打包js文件,無法識別其他語法的文件,如果要讓webpack打包其他文件,首先需要讓webpack識別不同的文件。
loader分類
分類
說明
轉(zhuǎn)換編譯
script-loader,babel-loader,ts-loader,coffee-loader
處理樣式
style-loader,css-loader,less-loader,sass-loader,postcss-loader
處理文件
raw--loader,url-loader,file-loader
處理數(shù)據(jù)
csv-loader,xml-loader
處理模板語言
html-loader,pug-loader,jade-loader,markdown-loader
清理和測試
mocha-loader,eslint-loader
常用loader
loader
說明
css-loader
解析css語句
style-loader
將css-loader解析后的文本,添加<style>標簽
babel-loader
將ES6+、JSX語法轉(zhuǎn)成ES5低版本語法
url-loader
url-loader對未設置或者小于limit byte設置的圖片以base64的格式進行轉(zhuǎn)換<br />對于大于limit byte的圖片用file-loader進行解析
file-loader
解析項目中的url引入(包括img的src和background的url)<br />修改打包后文件引用路徑,使之指向正確的文件
less-loader
less編譯器
vue-loader
Vue也推出了自己的vue-loader,可以方便的打包 .vue文件 的代碼。<br />在vue-cli(快速構建單頁應用的腳手架)中得到應用。
babel loader
babel是一個js編譯器,它是通過語法轉(zhuǎn)換器支持最新版本的JavaScript,這插件允許你使用新語法,無需等待瀏覽器支持。
使用babel首先要配置.babelrc文件,該文件用來設置轉(zhuǎn)碼規(guī)則和插件,存放在項目的根目錄下。
在linux系統(tǒng)中,rc結尾的文件通常代表運行時自動加載的文件、配置等等。
在.babelrc配置文件中,主要是對預設和插件進行配置。
配置項
說明
presets
預設 對js最新的語法糖進行編譯,并不負責轉(zhuǎn)譯新增的api和全局對象。例如:let/const可以被編譯,而String.includes、Object.assign等對象新增方法并不能被編譯。<br />常用轉(zhuǎn)譯器:babel-preset-env、babel-preset-es2015(2016、2017)、babel-preset-latest等
plugins
插件 控制如何轉(zhuǎn)換代碼,babel默認只轉(zhuǎn)換新的js語法,而不轉(zhuǎn)換新的API,比如 Set,,Maps,Symbol,Promise 等全局對象,transform-runtime 用來解決以上問題
插件可以擴展webpack的功能,Loader不能做的處理都能交給plugin來做。
resolve配置webpack如何尋找模塊對應的文件,webpack在啟動后會從配置的入口模塊觸發(fā),找出所有依賴的模塊,默認會采用模塊化標準里約定號的規(guī)則去尋找。
屬性
說明
alias
(譯:別名)通過別名將原來導入路徑映射成一個新的導入路徑
extensions
(譯:擴展)數(shù)組 導入模塊時,可以省略的文件后綴名
其他配置
配置項
說明
devtool
是否生成以及如何生成sourcemap
devserver
開啟一個本地開發(fā)服務器
watch
監(jiān)聽文件變化并自動打包
watchoption
用來定制watch模式的選項
performance
打包后命令行如何展示性能提示,如果超過某個大小是警告還是報錯
webpack-dev-server
它是一個小型的web服務器,可以自動監(jiān)視項目文件的變化,自動刷新瀏覽器,其HMR方式只替換更新的部分,而不是重載頁面,大大提高了刷新效率
配置項
說明
默認值
inline
自動刷新<br />當我們對業(yè)務代碼做了一些修改,保存(ctrl+s)后,頁面會自動刷新,所做的修改會直接同步到頁面上,不需要手動刷新頁面或重啟服務
true
hot
熱模塊替換<br /> 不用配置(通常是通過命令行 --hot 選項啟動,會自動加載webpack.HotModuleReplacementPlugin插件)
true
host
主機地址
open
自動打開瀏覽器,可以指定瀏覽器,例如:--open 'Chrome'
false
port
端口
默認8080
overlay
編譯出錯的時候,在瀏覽器頁面上顯示錯誤
false
stats
用來控制編譯的時候shell上的輸出內(nèi)容<br />stats: "errors-only" 只打印錯誤<br /> 還有"minimal","normal","verbose"
compress
true:對所有服務器資源采用gzip壓縮
false
contentBase
指定了服務器資源的根目錄,<br />如果不寫入contentBase的值,那么contentBase默認是項目的目錄
"./"
historyApiFallback
它使用的是HTML5 History Api,任意的跳轉(zhuǎn)或404響應可以指向 index.html 頁面
true
例子:
運行
npm start
運行后,webpack-dev-server將開始運行,打開瀏覽器,直接輸入127.0.0.1:8080/index.html,打包后的頁面已經(jīng)可以使用了
注意:
index.html內(nèi)無需引入main.js文件,打包后的index.html文件中會自動引入該文件。
webpack-dev-server運行后,瀏覽器中輸出的頁面,都是運行在內(nèi)存中的,只有build以后,才會在dist目錄中得到最終的結果文件。
ES6基礎
ECMAScript和JavaScript到底是什么關系?
ECMAScript是JavaScript語言的國際標準,JavaScript是ECMAScript的實現(xiàn)。ESMAScript6的簡稱為es6是JavaScript語言的下一代標準。
symbol數(shù)據(jù)類型,Symbol是一種唯一標識符,可以用作對象的唯一屬性名,這樣就不會有人改寫或覆蓋你設置的屬性值了。
Symbol作為對象屬性名
Symbol永遠不相等,創(chuàng)建它們的時候傳入相同值的參數(shù),也不相等,因此,可借助此特性解決屬性名的沖突問題,也是該數(shù)據(jù)類型存在的主要用途。
Symbol 值不能與其他類型的值進行運算,可以顯式轉(zhuǎn)為字符串。
使用場景
為某個對象添加屬性,新添加屬性與原有屬性重名,新添加的屬性僅作為標記使用,不需要用遍歷器遍歷處理。
let與const
用var聲明的變量會造成全局污染。
let用來聲明變量,要先聲明后使用
const
const聲明一個只讀的常量,一旦聲明,常量的值就不能改變。
特性
var
let
const
作用域級別
函數(shù)級
塊級
塊級
初始值
否
否
聲明時必須賦值
變量提升
是
否
否
重復聲明
是
否
否
變量的解構賦值
set與Map
js原有的2種數(shù)據(jù)結構,array和object;es6新增兩種數(shù)據(jù)結構,set和map
set數(shù)據(jù)結構
set類似于數(shù)組,成員的值都是唯一的,沒有重復的值。
主要用于數(shù)據(jù)的去重。
set本身就是一個構造函數(shù),用來生成set數(shù)據(jù)結構。set實例時一個類數(shù)組的對象。
方法
說明
add(value)
添加某個值,返回:Set結構本身
delete(value)
刪除某個值,返回:bool(刪除是否成功)
has(value)
表示該值是否為Set的成員 返回:bool
clear()
清除所有成員,返回:無
map數(shù)據(jù)結構,map也是一個數(shù)據(jù)集合,與數(shù)據(jù)類似。
它是對object的一個補充,map的key可以是任意類型,而傳統(tǒng)對象的key必須是字符串。
遍歷object得到的結果是無序的,遍歷Map得到的結果是有序的
方法
說明
clear
從Map中移除所有元素
delete
從Map中移除指定的元素
forEach
對Map中的每個元素執(zhí)行指定操作
get
返回Map中的指定元素
has
如果Map包含指定元素,則返回 true
set
添加一個新建元素到Map
toString
返回Map的字符串表示形式(序列化)
valueOf
返回指定對象的原始值
array set map
類別
Array
Set
Map
長度
arr.length
set.size
map.size
增
arr.push(新增值)
set.add(4)
map.set('t', 1)
刪
arr.splice(索引,刪除數(shù)量)
set.delete(2)
map.delete('t')
改
arr.splice(索引,刪除數(shù)量,[新增值])
遍歷
map.set('t',2)
查
遍歷
set.has(1)
map.has('t')
清空
arr = []
set.clear()
map.clear()
共同變量方法
方法
說明
keys()
返回鍵名的遍歷器
values()
返回鍵值的遍歷器
entries()
返回鍵值對的遍歷器
forEach()
使用回調(diào)函數(shù)遍歷每個成員
箭頭函數(shù),匿名函數(shù)
參數(shù)格式
箭頭函數(shù)中的this
函數(shù)的擴展
對象的擴展
在es6中允許向?qū)ο笾苯訉懭胱兞亢秃瘮?shù),作為對象的屬性和方法。
es6中允許使用表達式作為對象屬性,并且函數(shù)名稱定義也可以采用相同的方法。
setter和getter。
方法名稱
方法描述
Object.is()
比較兩個值是否相等
Object.assign()
用于將對象進行合并
Object.getOwnPropertyDescriptor
返回對象屬性的描述
Object.keys()
返回一個數(shù)組,包括對象自身的所有的可枚舉屬性
數(shù)組的擴展
方法
方法描述
copyWithin(target,start,end)
在當前數(shù)組內(nèi)部,將指定位置的成員復制到其他位置(會覆蓋原有成員),然后返回當前數(shù)組。也就是說,使用這個方法,會修改當前數(shù)組。參數(shù)說明:<br />target(必需):從該位置開始替換數(shù)據(jù)。負值:倒數(shù)。<br />start(可選):從該位置開始讀取數(shù)據(jù),默認:0。負值:倒數(shù)。<br /> end(可選):到該位置前停止讀取數(shù)據(jù),默認等于數(shù)組長度。負值:倒數(shù)。
find()
數(shù)組實例的find方法,用于找出第一個符合條件的數(shù)組成員。它的參數(shù)是一個回調(diào)函數(shù),所有數(shù)組成員依次執(zhí)行該回調(diào)函數(shù),直到找出第一個返回值為true的成員,然后返回該成員。如果沒有符合條件的成員,則返回undefined。
findIndex()
findIndex方法的用法與find方法非常類似,返回第一個符合條件的數(shù)組成員的位置,如果所有成員都不符合條件,則返回-1。
fill()
fill方法使用給定值,填充一個數(shù)組,fill方法用于空數(shù)組的初始化非常方便。數(shù)組中已有的元素,會被全部抹去,如果填充的類型為對象,那么被賦值的是同一個內(nèi)存地址的對象,而不是深拷貝對象。
includes()
該方法返回一個布爾值,表示某個數(shù)組是否包含給定的值,與字符串的includes方法類似。
ES6高級操作
promise對象
JavaScript本身就是單線程的,所以為了解決單線程帶來的問題,在異步編程中,許多操作都會放在回調(diào)函數(shù)中,同步與異步的混雜,過多的回調(diào)嵌套都會讓代碼變得難以維護。
promise對象用于處理異步操作的,異步處理成功了就執(zhí)行成功的操作,異步處理失敗了就捕獲錯誤或者是停止后續(xù)操作。
一個promise代表是一個任務結果,這個任務有可能完成沒完成。promise模式唯一需要的一個接口是調(diào)用then方法,它可以用來注冊當promise完成或者失敗時調(diào)用的回調(diào)函數(shù),可以把promise對象看成一條工廠的流水線。
promise是一個類,需要New實例化:
then方法
then方法是promise原型上的方法,它把原來的回調(diào)寫法分離出來了。
iterator方法
Iterator遍歷器是一種接口,為各種不同的數(shù)據(jù)結構提供統(tǒng)一的訪問機制,任何數(shù)據(jù)結構只要部署Iterator接口,就可以完成遍歷操作。
array,set,map,string都是可迭代對象
它們原型中都有一個symbol.iterator方法,通過調(diào)用symbol.iterator方法來獲取默認迭代器。
generator是es6提供的一種異步編程解決方案。
執(zhí)行函數(shù)后,返回的是一個指向內(nèi)部狀態(tài)的指針對象,yield表達式是暫停執(zhí)行的標記,next方法可以恢復執(zhí)行。
yield表達式在Generator中是作為一個暫停標志,當碰到y(tǒng)ield時,函數(shù)暫停執(zhí)行,等到下一次next()執(zhí)行時,函數(shù)才從當前yield位置開始執(zhí)行。
Class,在傳統(tǒng)的JavaScript中只有對象,沒有類的概念,它是基于原型的面向?qū)ο笳Z言,原型對象特點就是將自身的屬性共享給新對象。我們可以通過class關鍵字可以定義類。
喜歡你的365天
今后也請你多多關照
推薦閱讀 點擊標題可跳轉(zhuǎn)
【面試Vue全家桶】vue前端交互模式-es7的語法結構?async/await
【面試需要-Vue全家桶】一文帶你看透Vue前端路由
【面試需要】掌握JavaScript中的this,call,apply的原理
2019年的每一天日更只為等待她的出現(xiàn),好好過余生,慶余年 | 掘金年度征文
進來就是一家人【達達前端技術社群⑥】
覺得本文對你有幫助?請分享給更多人
關注「達達前端」加星標,提升前端技能
在博客平臺里,未來的路還很長,也希望自己以后的文章大家能多多支持,多多批評指正,我們一起進步,一起走花路。
非常感謝讀者能看到這里,如果這個文章寫得還不錯,覺得「達達」我有點東西的話,覺得我能夠堅持的學習,覺得此人可以交朋友的話, 求點贊,求關注,求分享,對暖男我來說真的
非常有用!!!
感謝閱讀,原創(chuàng)不易,喜歡就點個[在看] or [轉(zhuǎn)發(fā)朋友圈],這是我寫作最大的動力。
意見反饋
若本號內(nèi)容有做得不到位的地方(比如:涉及版權或其他問題),請及時聯(lián)系我們進行整改即可,會在第一時間進行處理。
這是一個有質(zhì)量,有態(tài)度的公眾號
點關注,有好運
相關案例查看更多
相關閱讀
- 云南手機網(wǎng)站建設
- 昆明網(wǎng)站設計
- painter
- 云南省住房建設廳網(wǎng)站
- 昆明小程序開發(fā)
- 云南建設廳官方網(wǎng)站
- 云南網(wǎng)站建設百度官方
- 云南小程序開發(fā)公司
- 搜索引擎自然排名
- asp網(wǎng)站
- 文山小程序開發(fā)
- 微信分銷
- 正規(guī)網(wǎng)站建設公司
- 微信分銷系統(tǒng)
- 做小程序被騙
- 云南省建設廳網(wǎng)站
- 汽車報廢
- Web開發(fā)框架
- 云南網(wǎng)站建設價格
- 網(wǎng)站建設方法
- 云南小程序哪家好
- 前端
- 小程序
- 大理網(wǎng)站建設公司
- 云南網(wǎng)站建設案例
- 云南網(wǎng)站制作
- 微分銷
- 小程序退款
- 網(wǎng)站建設服務
- 云南etc小程序