真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

javascript托管,事件托管 js

前端錯(cuò)誤Uncaught TypeError: Cannot read property 'length' of null錯(cuò)誤怎么處理?

通過統(tǒng)計(jì)數(shù)據(jù)庫中的1000多個(gè)項(xiàng)目,我們發(fā)現(xiàn)在 JavaScript 中最常出現(xiàn)的錯(cuò)誤有10個(gè)。下面會(huì)向大家介紹這些錯(cuò)誤發(fā)生的原因以及如何防止。

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站設(shè)計(jì),高端網(wǎng)頁制作,對(duì)成都履帶攪拌車等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)成都網(wǎng)站推廣優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。

1. Uncaught TypeError: Cannot Read Property

這是 JavaScript 開發(fā)人員最常遇到的錯(cuò)誤。當(dāng)你讀取一個(gè)屬性或調(diào)用一個(gè)未定義對(duì)象的方法時(shí),Chrome 中就會(huì)報(bào)出這樣的錯(cuò)誤。

導(dǎo)致這個(gè)錯(cuò)誤發(fā)生的原因有很多,常見的一種情況是在渲染 UI 組件時(shí),不正確地初始化狀態(tài)。我們來看一個(gè)真實(shí)的應(yīng)用程序中發(fā)生這種情況的例子。

以上代碼有兩個(gè)重要方面:

一是組件的狀態(tài)(例如 this.state),在開始生命周期之前是 undefined 狀態(tài)。

二是當(dāng)通過異步的方式獲取數(shù)據(jù)時(shí),無論是在構(gòu)造函數(shù)中 componentWillMount 中,還是在構(gòu)造函數(shù)中提取 componentDidMount,組件在數(shù)據(jù)加載之前至少會(huì)渲染一次。當(dāng)檢測(cè)首次渲染時(shí),會(huì)發(fā)現(xiàn) this.state.items 是未定義的。此時(shí)就會(huì)出現(xiàn)一個(gè)錯(cuò)誤 -“Uncaught TypeError: Cannot read property ‘map’ of undefined" in the consol”。

解決的方法很簡單:在構(gòu)造函數(shù)中使用合理的默認(rèn)值進(jìn)行狀態(tài)初始化。

2. TypeError: ‘undefined’ Is Not an Object (evaluating...)

這是在 Safari 中讀取屬性或調(diào)用未定義對(duì)象上的方法時(shí)發(fā)生的錯(cuò)誤,這與 Chrome 的上述錯(cuò)誤基本相同,只是 Safari 使用不同的錯(cuò)誤消息。

3. TypeError: Null Is Not an Object (evaluating...)

這是在 Safari 中讀取屬性或調(diào)用空對(duì)象上的方法時(shí)發(fā)生的錯(cuò)誤。

在實(shí)際情況中,導(dǎo)致這種錯(cuò)誤的原因之一是:在元素加載之前,就嘗試在 JavaScript 中使用 DOM 元素。這是因?yàn)?DOM API 對(duì)于空白的對(duì)象引用返回 null。

任何執(zhí)行和處理 DOM 元素的 JS 代碼,都應(yīng)該在創(chuàng)建 DOM 元素之后執(zhí)行。JS 代碼按照 HTML 中的規(guī)定自上而下進(jìn)行解釋。因此,如果在 DOM 元素之前存在標(biāo)簽,則腳本標(biāo)簽內(nèi)的 JS 代碼就會(huì)在瀏覽器分析 HTML 頁面時(shí)執(zhí)行。如果在加載腳本之前尚未創(chuàng)建 DOM 元素,就會(huì)出現(xiàn)這樣的錯(cuò)誤。

在這個(gè)例子中,我們可以通過添加一個(gè)事件偵聽器來解決這個(gè)問題,事件偵聽器會(huì)在頁面準(zhǔn)備就緒時(shí)通知我們。一旦 addEventListener 被觸發(fā),該 init( ) 方法就可以使用 DOM 元素。

4. (unknown): Script Error

當(dāng)未捕獲的 JavaScript 錯(cuò)誤違背跨邊界原則時(shí),就會(huì)發(fā)生腳本錯(cuò)誤。例如,如果將 JavaScript 代碼托管在 CDN 上,則任何未被捕獲的錯(cuò)誤(通過 window.onerror 處理程序發(fā)出的錯(cuò)誤,而不是 try-catch 中捕獲到的錯(cuò)誤)將僅報(bào)告為“腳本錯(cuò)誤”。這是瀏覽器的一種安全措施,主要用于防止跨域傳遞數(shù)據(jù)的情況出現(xiàn)。

要獲取真實(shí)的錯(cuò)誤消息,需要執(zhí)行以下操作:

Access-Control-Allow-Origin

Access-Control-Allow-Origin 設(shè)置為 *, 表示可以從任何域正確訪問資源。* 如有必要,也可以用自己的域名進(jìn)行替換,例如:

Access-Control-Allow-Origin: 。

以下是在各種環(huán)境中設(shè)置的一些示例:

在腳本標(biāo)簽上設(shè)置crossorigin =“anonymous”

在你的 HTML 源代碼中,為每一個(gè)腳本設(shè)置

Access-Control-Allow-Origin,在設(shè)置 SCRIPT 標(biāo)簽中,設(shè)置 crossorigin="anonymous"。在將 crossorigin 屬性添加到腳本標(biāo)簽之前,請(qǐng)確保正在向腳本文件發(fā)送 header。在 Firefox 中,如果 crossorigin 屬性存在但 Access-Control-Allow-Origin 標(biāo)題不存在,則腳本不會(huì)執(zhí)行。

5. TypeError: Object Doesn’t Support Property

當(dāng)調(diào)用未定義的方法時(shí),IE 中會(huì)發(fā)生這樣的錯(cuò)誤。

這相當(dāng)于 Chrome 中的 “undefined’ is not a function” 錯(cuò)誤。對(duì)于相同的邏輯錯(cuò)誤,不同的瀏覽器可能會(huì)有不同的錯(cuò)誤消息。

這是在 IE 的 Web 應(yīng)用程序中使用 JavaScript 命名空間出現(xiàn)的一個(gè)常見問題。出現(xiàn)這種情況的絕大部分原因是IE無法將當(dāng)前名稱空間內(nèi)的方法綁定到this關(guān)鍵字。例如,如果你有 JS Rollbar 方法的命名空間 isAwesome。通常,如果位于 Rollbar 命名空間內(nèi),則可以使用以下語法調(diào)用該 isAwesome 方法:

6. TypeError: ‘undefined’ Is Not a Function

當(dāng)調(diào)用未定義的函數(shù)時(shí),Chrome 中就會(huì)發(fā)生這樣的錯(cuò)誤。

執(zhí)行上面的代碼會(huì)導(dǎo)致以下錯(cuò)誤:“Uncaught TypeError: undefined is not a function。” 發(fā)生以上錯(cuò)誤的原因是,當(dāng)你調(diào)用 setTimeout( ) 時(shí),實(shí)際上是在調(diào)用 window.setTimeout( ),傳遞給 setTimeout( ) 的匿名函數(shù)是在窗口對(duì)象的上下文中定義的,而該窗口對(duì)象沒有 clearBoard( ) 方法。

符合舊版瀏覽器的解決方案是以變量的方式簡單地將引用保存在 this 中,然后通過閉包繼承。

成為Web前端開發(fā)工程師的學(xué)習(xí)指南

今天小編要跟大家分享的文章是關(guān)于成為web前端開發(fā)工程師的學(xué)習(xí)指南。想要學(xué)習(xí)web前端開發(fā)技術(shù)的小伙伴們來和小編一起看一看吧,希望本篇文章能夠?qū)Υ蠹矣兴鶐椭?/p>

1、首先確定你的目標(biāo)或道路

我們將討論很多技術(shù),趨勢(shì)和工具,但我們不希望您不知所措,因此你需要首先決定要成為一名Web開發(fā)人員要做什么,因?yàn)檫@將幫助你選擇合適的工具。和學(xué)習(xí)技術(shù)。成為Web開發(fā)人員的原因有很多,下面列出了一些選擇因素:

·你想作為一名Web開發(fā)人員在一家公司工作,這是最普遍的原因。

·你想以自由開發(fā)人員的身份來開始自己的業(yè)務(wù)或代理。

·你可以成為其他公司的顧問。

·你可以創(chuàng)建自己的應(yīng)用來賺錢。

·編碼是你的業(yè)余愛好。

從上述感興趣或目標(biāo)的領(lǐng)域,你可以選擇適用于你的目標(biāo)的正確工具和技術(shù)。如果你的目標(biāo)是成為一名前端開發(fā)人員,則可以選擇前端開發(fā)的工具和技術(shù)。后端和全棧開發(fā)也是如此。

2、Web開發(fā)的基本工具和軟件

·

計(jì)算機(jī)和操作系統(tǒng):如果沒有計(jì)算機(jī)和操作系統(tǒng),則無法編寫代碼。要學(xué)習(xí)Web開發(fā),你不需要任何高端計(jì)算機(jī)(如果你擁有的話,那么更好)。你可以使用任何類型的中型筆記本電腦或臺(tái)式機(jī)。對(duì)于操作系統(tǒng),可以使用適合你的MacOS,Windows(最新版本)或Linux。

·文本編輯器/

IDE:毫無疑問,VSCode適用于大多數(shù)情況和大多數(shù)語言。它具有良好的性能,出色的擴(kuò)展性,內(nèi)置的終端功能以及大量功能。在2019年StackOverFlow調(diào)查中,VSCode也是開發(fā)人員的首選。你還可以選擇其他一些不錯(cuò)的選擇,例如Sublime

Text或Atom。如果我們談?wù)揑DE,那么是Visual

Studio(#或C#),Eclipse和Netbeans(Java)。是不錯(cuò)的選擇。

·

Web瀏覽器:大多數(shù)開發(fā)人員的首選是Chrome或Firefox。Chrome速度很快,并且使用V8引擎(JavaScript引擎)。Firefox也取得了長足的進(jìn)步,其中的一些好東西不在chrome瀏覽器中。兩種瀏覽器都有出色的開發(fā)工具,可以對(duì)Web開發(fā)中的問題進(jìn)行故障排除。

·終端:您將使用一些系統(tǒng)命令來使用CLI進(jìn)行很多工作。您可以將默認(rèn)或第三方終端用于您的Web開發(fā)項(xiàng)目。Bash,Zsh,Powershell,Git

Bash,iTerm,Hyper這些都是可以使用的選項(xiàng)。

·設(shè)計(jì)(可選):并不是每個(gè)人都需要學(xué)習(xí)。在公司中,有專門的團(tuán)隊(duì)來制作圖像,徽標(biāo)或草圖,但是如果您是自由職業(yè)者,則可能必須學(xué)習(xí)Adobe

XD,Photoshop,Sketch或Figma。

3、從HTML和CSS開始

HTML和CSS是Web開發(fā)的基本構(gòu)建塊。無論您的Web應(yīng)用程序有多先進(jìn),或者使用什么框架和后端語言,都必須使用HTML和CSS構(gòu)建前端應(yīng)用程序。因此,這是在Web開發(fā)中要學(xué)習(xí)的第一件事。

·HTML5(語義元素,屬性,文檔類型等)

·CSS基礎(chǔ)知識(shí)顏色,字體,位置,盒子模型等。

·CSSGrid和Flexbox對(duì)齊內(nèi)容或創(chuàng)建列。

·CSS自定義屬性

4、響應(yīng)式布局

您的應(yīng)用程序應(yīng)該在所有類型的設(shè)備(例如智能手機(jī),平板電腦,臺(tái)式機(jī),iPad或任何其他屏幕尺寸的設(shè)備)上都可以查看和使用。因此,了解創(chuàng)建響應(yīng)式設(shè)計(jì)或布局非常重要。讓我們來看一些重要的主題。

·了解如何設(shè)置視口

·媒體查詢不同的屏幕尺寸。

·流體寬度

·雷姆單位

·移動(dòng)優(yōu)先

5、自定義可重用CSS組件

與其依賴大型的CSS框架(如Bootstrap),不如創(chuàng)建自己的模塊化,可重用的CSS組件以在項(xiàng)目中使用。如果您構(gòu)建自己的定制設(shè)計(jì),則無需導(dǎo)入完整的庫。您創(chuàng)建只需要特定UI的組件。的新趨勢(shì)最近還出現(xiàn)了有助于更有效地編寫CSS代碼的代碼。如果你已經(jīng)了解CSS,那么您無需在學(xué)習(xí)Saas上花費(fèi)很多精力。Saas是CSS預(yù)處理程序,可為標(biāo)準(zhǔn)CSS添加更多功能并使其更加高效。你可以使用變量,嵌套,條件語句來減少CSS的重復(fù)并提高其效率。你還可以為每個(gè)可重用組件創(chuàng)建單獨(dú)的Saas文件。Sass確實(shí)節(jié)省了很多時(shí)間,所以你絕對(duì)應(yīng)該在2020年學(xué)習(xí)它。

6、CSS框架

學(xué)習(xí)CSS框架的普及程度不如去年,但對(duì)于不擅長設(shè)計(jì)的開發(fā)人員而言,仍然非常相關(guān)或有用。有許多流行的CSS框架可供使用,其中一些如下。

·Bootstrap是最流行的CSS框架。學(xué)習(xí)引導(dǎo)程序也有助于學(xué)習(xí)其他框架。

·Tailwind

CSS是其他正在流行的框架,與其他框架幾乎沒有什么不同。它是一組實(shí)用程序類,因此您可以創(chuàng)建自己的按鈕和其他看起來與其他按鈕確實(shí)不同的東西。它們也是高度可定制的。

·物化

·布爾瑪

7、前端必須語言:JavaScript

學(xué)習(xí)HTML和CSS之后,接下來需要學(xué)習(xí)的是Vanilla

Javascript。對(duì)開發(fā)人員來說,掌握javascript基本知識(shí)非常重要。您將在服務(wù)器端語言(例如PHP,Python或#)中使用大量javascript,并且如果您想與React,Angular,NodeJS,Vue或任何其他javascript框架或庫一起使用,則非常需要學(xué)習(xí)這種語言。以下是你應(yīng)該在javascript中涵蓋的一些重要主題

·JavaScript基礎(chǔ)知識(shí)(變量,數(shù)據(jù)類型,函數(shù),條件等)

·DOM(文檔對(duì)象模型)

·JSON(JavaScript對(duì)象表示法)

·提取API(請(qǐng)求/響應(yīng)/Ajax)

·如果您想轉(zhuǎn)向React,Vue,Angular或其他框架,現(xiàn)代JS(ES6)概念對(duì)于學(xué)習(xí)非常重要。

8、一些重要工具

Web開發(fā)中將使用一些工具。這些工具將幫助你進(jìn)行調(diào)試,提高生產(chǎn)率,管理代碼,與其他開發(fā)人員合作以及類似的東西。讓我們討論其中一些工具。

·

Git(版本控制)和Github是您肯定會(huì)在2020年學(xué)習(xí)的最受歡迎的工具。Git在與其他開發(fā)人員協(xié)作和管理代碼方面有很多幫助。您還可以選擇其他一些選項(xiàng),例如GitLab,Bitbucket和其他一些選項(xiàng)。

·

了解如何使用瀏覽器開發(fā)工具。無論是chrome還是firefox,您都應(yīng)該知道如何使用不同的選項(xiàng)卡,例如元素選項(xiàng)卡,javascript控制臺(tái),用于請(qǐng)求和響應(yīng)的網(wǎng)絡(luò)選項(xiàng)卡,應(yīng)用程序選項(xiàng)卡以及其他用于不同目的的選項(xiàng)卡。

·大多數(shù)IDE或文本編輯器都具有添加擴(kuò)展名或插件的功能,這對(duì)提高生產(chǎn)力和構(gòu)建Web應(yīng)用程序非常有幫助。例如,Visual

Studio代碼中的VSCode擴(kuò)展可幫助下載擴(kuò)展,例如實(shí)時(shí)服務(wù)器或?qū)崟r(shí)saas編譯器以與React一起使用。

·Emmet是另一個(gè)很棒的工具,它允許您編寫非??焖俚腍TML和CSS,這有助于提高開發(fā)人員的生產(chǎn)力。

·

學(xué)習(xí)使用javascript軟件包管理器,例如NPM和Yarn。如果您正在使用Javascript框架或庫(例如React),那么這些軟件包管理器將使用很多,但是對(duì)于其他語言(例如Python或Php),您將使用不同的軟件包管理器。

·

如果要在前端安裝NPM軟件包,則必須使用Webpack或Parcel。如果要?jiǎng)?chuàng)建自己的模塊,或者要將一個(gè)javascript文件帶到另一個(gè)javascript文件,則默認(rèn)情況下不能僅使用瀏覽器來執(zhí)行此操作,因此需要Webpack或Parcel對(duì)其進(jìn)行捆綁。

9、基本部署

此時(shí),一旦你知道應(yīng)該為前端開發(fā)學(xué)習(xí)什么工具或技術(shù),就需要知道如何在Internet上部署前端網(wǎng)站。如果你正在為小型企業(yè)構(gòu)建一些小型應(yīng)用程序,登錄頁面或個(gè)人站點(diǎn),則無需學(xué)習(xí)AWS或DevOps,僅因?yàn)樗鼈兙哂泄鉂珊托鲁?。你將使事情變得更加?fù)雜而不是簡單。你需要在2020年學(xué)習(xí)一些部署工具和步驟。

·域注冊(cè)(Namecheap,Google等)

·托管托管(InMotion,Hostgator,Bluehost等)

·靜態(tài)主機(jī)(Netlify,Github頁面)

·SSL證書。

·FTP,SFTP(文件傳輸協(xié)議)非常適合小型應(yīng)用程序。

·SSH(安全外殼),用于高級(jí)應(yīng)用程序。

·CLI和Git。

到目前為止,我們討論的任何工具,技術(shù)趨勢(shì)或步驟都是前端開發(fā)的一部分。您尚不知道該框架,但可以為個(gè)人和小型企業(yè)構(gòu)建網(wǎng)站,也可以構(gòu)建適合移動(dòng)設(shè)備的布局。您還可以使用到目前為止討論的工具或技術(shù)來部署小型應(yīng)用程序或項(xiàng)目。如果您想申請(qǐng)工作,那么學(xué)習(xí)一些前端框架(如React,Vue或Angular)將是很棒的。

10、前端框架和狀態(tài)管理

框架使您可以進(jìn)行更高級(jí)的前端開發(fā)??蚣転槟峁┝嗽S多優(yōu)勢(shì),例如可重用的組件,更有條理的UI或頁面交互。這對(duì)于協(xié)作更好,也有助于編寫簡潔的代碼。另外,了解狀態(tài)管理。每個(gè)框架都有不同的方法。以下是2020年的一些流行框架和狀態(tài)管理器。

·React:React庫是最流行的Web開發(fā)學(xué)習(xí)方法,與其他框架和庫相比,它相當(dāng)容易。React開發(fā)人員還有很多工作要做。您可以將Redux和

ContextAPI與Hooks一起使用以進(jìn)行狀態(tài)管理。

·Vue:

Vue也越來越受歡迎,開發(fā)人員也更喜歡學(xué)習(xí)Vue。與React和Angular相比,Vue最容易學(xué)習(xí)。VueX是為視圖而構(gòu)建的狀態(tài)管理器。

·Angular:此框架通常在大型組織中使用。它具有相當(dāng)陡峭的學(xué)習(xí)曲線。用Angular學(xué)習(xí)

TypeScript也很好。它允許您使用可選的靜態(tài)類型并支持ES2015的功能。NGRX和Services是可以學(xué)習(xí)此框架的良好狀態(tài)管理器。

可選學(xué)習(xí):

·

如果您具有這三個(gè)框架之一的知識(shí),那么您還可以使用Svelte,它是一個(gè)JavaScript編譯器,可讓您生成純凈的原始JS代碼并幫助您輕松構(gòu)建用戶界面。

·

了解服務(wù)器端渲染。NextJS(React)和NuxtJS(Vue)是允許您在服務(wù)器上運(yùn)行React和Vue的框架。兩者都有很好的功能,例如更好的SEO,文件系統(tǒng)路由,自動(dòng)代碼拆分,靜態(tài)導(dǎo)出,JS中的CSS和許多其他功能。

·靜態(tài)網(wǎng)站生成器:Gatsby(反應(yīng)式)和Gridsome(Vue)

我們已經(jīng)討論了所有大多數(shù)前端開發(fā)工具和技術(shù)?,F(xiàn)在讓我們討論成為后端開發(fā)人員或全棧開發(fā)人員的語言和技術(shù)。

11、服務(wù)器端語言(選擇一種)

您應(yīng)該至少了解一種服務(wù)器端語言。要在2020年選擇一種語言,下面提供了一些選項(xiàng)...

·NodeJS(不是語言,而是運(yùn)行時(shí)環(huán)境)

·Python(非常適合初學(xué)者)

·Java(適合大型組織)

·Php(適合自由職業(yè))

·Ruby(2020年少兩極)

·C#

·Go

注意:無論你喜歡學(xué)習(xí)哪種服務(wù)器端語言,都要確保你了解使用該語言的數(shù)據(jù)結(jié)構(gòu)和算法。數(shù)據(jù)結(jié)構(gòu)和算法將幫助您為用戶呈現(xiàn)數(shù)據(jù),并將幫助您優(yōu)化Web應(yīng)用程序中的代碼。我們特別建議您專注于使用數(shù)組和字符串(最重要)。你將同時(shí)使用這兩種方法。

12、服務(wù)器端框架(選擇一項(xiàng))

一旦學(xué)習(xí)了自己選擇的一種服務(wù)器端語言,就可以使用其中一種語言框架。您可以選擇以下給出的選項(xiàng)之一...

·Node.js_Express,Koa,Adonis,F(xiàn)eather.js,Nest.js

·Python:Django,F(xiàn)lask,

·Java:SpringMVC,Grails

·PHP:Laravel,Symfony,Codeignitor,Slim

·Ruby:Sinatra上的RubyonRails

·C#:ASP.NETMVC

·Go:Revel

13、數(shù)據(jù)庫(選擇一項(xiàng))

大多數(shù)Web應(yīng)用程序都需要一個(gè)存儲(chǔ)數(shù)據(jù)的地方。在某些情況下,某些技術(shù)或某些語言可以與某些數(shù)據(jù)庫配合使用。例如:在Mern堆棧中,M代表MongoDB,而在LAMP堆棧中M代表MySQL,但完全取決于您要為應(yīng)用程序選擇哪個(gè)數(shù)據(jù)庫。我們將討論2020年一些流行的數(shù)據(jù)庫。

·關(guān)系數(shù)據(jù)庫:RDBMS仍然是最受歡迎的數(shù)據(jù)庫。最喜歡使用PostgreSQL,MySQL,MSSQL。

·NoSQL:MongoDB,RethinkDB,CouchDB

·云數(shù)據(jù)庫:Firebase,AzureCouldDB,AWS

·輕量級(jí)和緩存:Redis,SQLlite,NeDB

在學(xué)習(xí)數(shù)據(jù)庫時(shí),您還將學(xué)習(xí)RDBMS,ORM(對(duì)象關(guān)系映射器)或ODM(對(duì)象數(shù)據(jù)映射器)的SQL(結(jié)構(gòu)化查詢語言)。GraphQL

:(可選)您可以了解現(xiàn)在流行的GraphQL。這是API的查詢語言。它具有類似于JSON的簡單語法,并且相當(dāng)容易實(shí)現(xiàn)。

14、CMS:內(nèi)容管理

您絕對(duì)應(yīng)該了解內(nèi)容管理系統(tǒng),尤其是如果您是自由職業(yè)者。CMS用于將內(nèi)容添加到您的網(wǎng)站或應(yīng)用程序。客戶能夠更新自己的內(nèi)容非常好。

·

傳統(tǒng)CMS:WordPress(PHP),Drupal(PHP),Keystone(Javascript),Enduro(Javascript)

·其他CMS:DEDECMS,帝國CMS,PHPcms,Prismic.io,Strati。

15、部署和DevOps

托管全棧應(yīng)用程序或后端應(yīng)用程序比僅前端應(yīng)用程序要復(fù)雜一些,尤其是當(dāng)您擁有數(shù)據(jù)庫時(shí)。確保您知道如何使用CLI進(jìn)行部署。了解有關(guān)用于部署應(yīng)用程序的以下內(nèi)容。

在大多數(shù)公司中,有不同的團(tuán)隊(duì)從事DevOps的工作。因此,擁有有關(guān)DevOps的知識(shí)完全是可選的。您可以了解到,如果您正在從事自己的項(xiàng)目。

·SSH(安全外殼)

·Web服務(wù)器環(huán)境:NGINX,Apache

·應(yīng)用程序托管:Linode,Heroku,AWS,Azure,Now。

·虛擬化:Docker,Vagrant

·測(cè)試:單元,功能,集成等

·負(fù)載平衡,監(jiān)視,安全性。

以上所有技術(shù)工具都足以使您成為前端,后端或全棧開發(fā)人員。根據(jù)最終目標(biāo)選擇正確的工具和技術(shù)。

以上就是小編今天為大家分享的關(guān)于成為web前端開發(fā)工程師的學(xué)習(xí)指南的文章,希望本篇文章能夠?qū)φ趶氖聎eb前端工作的小伙伴們有所幫助,想要了解更多web前端相關(guān)知識(shí)記得關(guān)注北大青鳥web培訓(xùn)官網(wǎng),最后祝愿小伙伴們工作順利,成為一名優(yōu)秀的web前端開發(fā)工程師。

英文|#/how-to-become-a-web-developer-in-2020-a-complete-guide/翻譯|web前端開發(fā)(ID:web_qdkf)

怎么理解JavaScript中的ArrayBuffer

JS里的Array,因?yàn)橛泻芏喙δ?,而且是不限制類型的,或者它還可能是稀疏的……總之這個(gè)Array是“托管”的,它內(nèi)部有比較復(fù)雜的實(shí)現(xiàn)。

而如果你從XHR、File API、Canvas等等各種地方,讀取了一大串字節(jié)流,如果用JS里的Array去存,又浪費(fèi),又低效。

于是為了配合這些新的API增強(qiáng)JS的二進(jìn)制處理能力,就有了ArrayBuffer。

ArrayBuffer簡單說是一片內(nèi)存,但是你不能(也不方便)直接用它。這就好比你在C里面,malloc一片內(nèi)存出來,你也會(huì)把它轉(zhuǎn)換成unsigned_int32或者int16這些你需要的實(shí)際類型的數(shù)組/指針來用。

這就是JS里的TypedArray的作用,那些Uint32Array也好,Int16Array也好,都是給ArrayBuffer提供了一個(gè)“View”,MDN上的原話叫做“Multiple views on the same data”,對(duì)它們進(jìn)行下標(biāo)讀寫,最終都會(huì)反應(yīng)到它所建立在的ArrayBuffer之上。

除了TypedArray以外,也可以使用DataView來讀寫ArrayBuffer,這樣會(huì)麻煩一些,但也更靈活。DataView能更自由的選擇字節(jié)序,對(duì)于對(duì)齊的要求也更低。


文章名稱:javascript托管,事件托管 js
本文網(wǎng)址:http://weahome.cn/article/dseiodp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部