導航:首頁 > 編程語言 > threejs注釋

threejs注釋

發布時間:2024-07-25 18:43:24

㈠ Web前端新手應該知道的javaScript開發技巧有哪些

今天小編要跟大家分享的文章是關於Web前端新手應該知道的JavaScript開發技巧有哪些?熟悉Web前端的小夥伴都知道,Javascript
的很多擴展的特性是的它變得更加的犀利,同時也給予程序員機會創建更漂亮並且更讓用戶喜歡的網站

盡管很多的開發人員都樂於頌揚javascript,但是仍舊有人看到它的陰暗面。


使用很多javascript代碼的Web頁面會載入很慢,過多的使用javascript使得網頁醜陋和拖沓。很快如何有效地使用
javascript成為一個非常火熱的話題。


今天小編就為Web前端新手准備了這篇JavaScript開發技巧,希望能夠對你有所幫助,下面我們一起來看一看吧!


1、盡可能的保持代碼簡潔


可能大家都聽到過了N遍這個代碼簡潔問題了。作為一個開發人員你可能在你的代碼開發過程中使用了很多次,但千萬不要在js開發中忘記這點。


§盡量在開發模式中添加註釋和空格,這樣保持代碼的可讀性


§在發布到產品環境前請將空格和注釋都刪除,並且盡量縮寫變數和方法名


§使用第三方工具幫助你實現壓縮javascript。


2、思考後再修改prototypes


添加新的屬性到對象prototype中是導致腳本出錯的常見原因。


yourObject.prototype.anotherFunction='Hello'


yourObject.prototype.anotherMethod=function(){...}


在上面代碼中,所有的變數都會被影響,因為他們都繼承於yourObject。這樣的使用會導致意想不到的行為。所以建議在使用完後刪除類似的修改。


yourObject.prototype.anotherFunction='Hello'


yourObject.prototype.anotherMethod=function(){};


test.anotherMethod();


deleteyourObject.prototype.anotherFunction='Hello'


deleteyourObject.prototype.anotherMethod=function(){};


3、DebugJavascript代碼


即使最好的開發人員都會犯錯。為了最大化的減少類似錯誤,請在你的debugger中運行你的代碼,確認你沒有遇到任何細微的錯誤。


4、避免Eval


你的JS在沒有eval方法的時候也可以很好的工作。eval允許訪問javascript編譯器。如果一個字元串作為參數傳遞到
eval,那麼它的結果可以被執行。


這會很大的降低代碼的性能。盡量避免在產品環境中使用eval。


5、最小化DOM訪問


DOM是最復雜的API,會使得代碼執行過程變慢。有時候Web頁面可能沒有載入或者載入不完整。最好避免DOM。


6、在使用javascript類庫之前先學習javascript


互聯網充斥著很多的javascript類庫,很多程序員都往往使用js類庫而不理解負面影響。強烈建議你在使用第三方類庫之前學習基本的JS
代碼,否則,你就准備著倒霉吧。


7、不要用「SetTimeOut」和「Setinterval」方法來作為「Eval」的備選


setTimeOut("document.getID('value')",3000);


在以上代碼中document.getID(『value』)在setTimeOut方法中被作為字元串來處理。這類似於eval
方法,在每個代碼執行中來執行一個字元串,因此會降低性能,因此,建議在這些方法中傳遞一個方法。


setTimeOut(yourFunction,3000);


8、[]比newArray();更好


一個常犯的錯誤在於使用當需要數組的時候使用一個對象或者該使用對象的時候使用一個數組。但是使用原則很簡單:


「當屬性名稱是小的連續整數,你應該使用數組。否則,使用一個對象」_DouglasCrockford,JavaScript:Good
Parts的作者.


建議:


vara=[ƇA',ƈB'];


避免:


vara=newArray();


a[0]="1A";


a[1]="2B";


9、盡量不要多次使用var


在初始每一個變數的時候,程序員都習慣使用var關鍵字。相反,建議你使用逗號來避免多餘的關鍵字,並且減少代碼體積。如下:


varvariableOne='string1',


variableTwo='string2',


variableThree='string3'


10、不要忽略分號「;」


這往往是大家花費數個小時進行debug的原因之一。


我很確信你肯定也在其它的文章中閱讀過以上相關的內容,但是大家可能往往都忽略了很多基本的規則。你是不是也曾經忽略過分號。是不是也遇到過eval
關鍵字問題導致性能問題?


以上就是小編今天為大家分享的關於Web前端新手應該知道的JavaScript
開發技巧有哪些?的文章,希望本篇文章能夠對剛剛接觸Web前端行業的新手們有所幫助。想要了解更多Web前端知識記得關注北大青鳥Web前端培訓官網!


*聲明:內容與圖片均來源於網路(部分內容有修改),版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。

㈡ 一個優秀的前端工程師應具備哪些技能

第一階段:

HTML+CSS:

HTML進階、CSS進階、div+css布局、HTML+css整站開發、

JavaScript基礎:

Js基礎教程、js內置對象常用方法、常見DOM樹操作大全、ECMAscript、DOM、BOM、定時器和焦點圖。

JS基本特效:

常見特效、例如:tab、導航、整頁滾動、輪播圖、JS製作幻燈片、彈出層、手風琴菜單、瀑布流布局、滾動事件、滾差視圖。

JS高級特徵:

正則表達式、排序演算法、遞歸演算法、閉包、函數節流、作用域鏈、基於距離運動框架、面向對象基礎、

JQuery:基礎使用

懸著器、DOM操作、特效和動畫、方法鏈、拖拽、變形、JQueryUI組件基本使用。

第二階段:

HTML5和移動Web開發

HTML5:

HTML5新語義標簽、HTML5表單、音頻和視頻、離線和本地存儲、SVG、WebSocket、Canvas.

CSS3:

CSS3新選擇器、偽元素、臉色表示法、邊框、陰影、background系列屬性改變、Transition、動畫、景深和深透、3D效果製作、Velocity.js框架、元素進場、出場策略、炫酷CSS3網頁製作。

Bootstrap:

響應式概念、媒體查詢、響應式網站製作、刪格系統、刪格系統原理、Bootstrap常用模板、LESS和SASS。

移動Web開發:

跨終端WEB和主流設備簡介、視口、流式布局、彈性盒子、rem、移動終端JavaScript事件、手機中常見JS效果製作、Zepto.js、手機聚劃算頁面、手機滾屏。

第三階段:

HTTP服務和AJAX編程

WEB伺服器基礎:

伺服器基礎知識、Apache伺服器和其他WEB伺服器介紹、Apache伺服器搭建、HTTP介紹。

PHP基礎:

PHP基礎語法、使用PHP處理簡單的GET或者POST請求、

AJAX上篇:

Ajax簡介和非同步的概念、Ajax框架的封裝、XMLHttpRequest對象詳細介紹方法、兼容性處理方法、Ajax框架的封裝、Ajax中緩存問題、XML介紹和使用。

AJAX下篇:

JSON和JSON解析、數據綁定和模板技術、JSONP、跨域技術、圖片預讀取和lazy-load技術、JQuery框架中的AjaxAPI、使用Ajax實現爆布流案例額。

第四階段:

面向對象進階

面向對象終極篇:

從內存角度到理解JS面向對象、基本類型、復雜類型、原型鏈、ES6中的面向對象、屬性讀寫許可權、設置器、訪問器。

面向對象三大特徵:

繼承性、多態性、封裝性、介面。

設計模式:

面向對象編程思維、單例模式、工廠模式、策略模式、觀察者模式、模板方法模式、代理模式、裝飾者模式、適配器模式、面向切面編程。

第五階段:

封裝一個屬於自己的框架

框架封裝基礎:

事件流、冒泡、捕獲、事件對象、事件框架、選擇框架。

框架封裝中級:

運動原理、單物體運動框架、多物體運動框架、運動框架面向對象封裝。

框架封裝高級和補充:

JQuery框架雛形、可擴展性、模塊化、封裝屬於傳智自己的框架。

第六階段:

模塊化組件開發

面向組件編程:

面向組件編程的方式、面向組件編程的實現原理、面向組件編程實戰、基於組件化思想開發網站應用程序。

面向模塊編程:

AMD設計規范、CMD設計規范、RequireJS,LoadJS、淘寶的SeaJS。

第七階段:

主流的流行框架

Web開發工作流:

GIT/SVN、Yeoman腳手架、NPM/Bower依賴管理工具、Grunt/Gulp/Webpack。

MVC/MVVM/MVW框架:

Angular.js、Backbone.js、Knockout/Ember。

常用庫:

React.js、Vue.js、Zepto.js。

第八階段:

HTML5原生移動應用開發

Cordova:

WebApp/NativeApp/HybirdApp簡介、Cordova簡介、與PhoneGap之間的關系、開發環境搭建、Cordova實戰(創建項目,配置,編譯,調試,部署發布)。

Ionic:

Ionic簡介和同類對比、模板項目解析、常見組件及使用、結合Angular構建APP、常見效果(下拉刷新,上拉載入,側滑導航,選項卡)。

ReactNative:

ReactNative簡介、ReactNative環境配置、創建項目,配置,編譯,調試,部署發布、原生模塊和UI組件、原生常用API。

HTML5+:

HTML5+中國產業聯盟、HTML5PlusRuntime環境、HBuilder開發工具、MUI框架、H5+開發和部署。

第九階段:

Node.js全棧開發:

快速入門:

Node.js發展、生態圈、Io.js、Linux/Windows/OSX環境配置、REPL環境和控制台程序、非同步編程,非阻塞I/O、模塊概念,模塊管理工具、開發流程,調試,測試。

核心模塊和對象:

全局對象global,process,console,util、事件驅動,事件發射器、加密解密,路徑操作,序列化和反序列化、文件流操作、HTTP服務端與客戶端。

Web開發基礎:

HTTP協議,請求響應處理過程、關系型資料庫操作和數據訪問、非關系型資料庫操作和數據訪問、原生的Node.js開發Web應用程序、Web開發工作流、Node.js開發Blog案例。

快速開發框架:

Express簡介+MVC簡介、Express常用API、Express路由模塊、Jade/Ejs模板引擎、使用Express重構Blog案例、Koa等其他常見MVC框架。

㈢ 事件冒泡是什麼如何用jquery阻止事件冒泡

(1)什麼是事件起泡
首先你要明白一點,當一個事件發生的時候,該事件總是有一個事件源,即引發這個事件的對象,一個事件不能憑空產生,這就是事件的發生。

當事件發生後,這個事件就要開始傳播。為什麼要傳播呢?因為事件源本身並沒有處理事件的能力。例如我們點擊一個按鈕時,就會產生一個click事件,但這個按鈕本身不能處理這個事件(廢話),事件必須從這個按鈕傳播出去,從而到達能夠處理這個事件的代碼中(例如我們給按鈕的onclick屬性賦一個函數的名字,就是讓這個函數去處理該按鈕的click事件)。

當事件在傳播過程中,找到了一個能夠處理它的函數,這時候我們就說這個函數捕捉到了這個事件。

說到這里,關鍵的問題來了,那就是一個函數是如何捕捉一個事件的呢?這就涉及到事件的冒泡了。

為了更好地理解冒泡的概念,我建議你現在想像一下你的面前放著一杯水,但這杯水和我們平時看到的有點點不同,它分為數層,每一層又分成一或多個區域,最頂層是我們熟悉的窗口對象(即window對象),下一層分為好幾個區域(document對象、history對象等等),而document對象的下一層又分為多個子對象。

這些對象的層次關系構成了DOM中的對象樹。
事件的傳播是有方向的,當點擊一個按鈕時所產生的事件從這個按鈕處開始向上傳播(就像一個水泡從杯底冒上來,這就是之所以叫事件冒泡的原因),但這個事件總是尋找特定的屬性是否有值。例如按鈕的click事件先尋找在按鈕上是否有onclick屬性的有意義的定義(即該屬性指向一個存在的函數或一段可執行的語句),如果有,執行這個函數或語句;然後事件繼續向上傳播,到達按鈕的上一層對象(例如一個form對象或document對象,總之是包含了按鈕的父對象),如果該對象也定義了onclick屬性,則執行屬性的值。

所以,如果這個按鈕上面有3層(form、document、window),且這三層都定義了onclick屬性,則當按鈕的click事件產生時,將會調用4個(包括按鈕本身的一個)函數或執行4段語句。
事件的這幾個特性在0級dom中也是適用的。

(2)jquery阻止事件起泡實例
1、通過返回false來取消默認的行為並阻止事件起泡。
jQuery 代碼:
復制代碼 代碼如下:
$("form").bind(
"submit",
function() {
return false;
}
);

2、通過使用 preventDefault() 方法只取消默認的行為。
jQuery 代碼:
復制代碼 代碼如下:
$("form").bind(
"submit",
function(event){
event.preventDefault();
}
);

3、通過使用 stopPropagation() 方法只阻止一個事件起泡。
jQuery 代碼:
復制代碼 代碼如下:
$("form").bind(
"submit",
function(event){
event.stopPropagation();
}
);

(3)關於js事件起泡的驗證
今天這個問題主要涉及到幾個關鍵詞:對象,觸發事件,捕獲事件,執行處理、起泡。這其實就是整個js執行的過程。其中冒泡這個過程很有意思。其實就像是一杯水,但是這杯水是分層次的,最底下是當前觸發事件的對象。然後越往上范圍越大,最頂層肯定是window,倒數第二層是document。氣泡在上浮過程中會判斷當前所到達的層有沒有綁定事件處理方法。有話就執行相應的處理。沒有的話就繼續起泡。直到到達最頂層的window窗口層。我們可以在任何一層做相應的處理以阻止事件繼續起泡。方法就是調用事件對象的阻止起泡的方法。event.stopPropagation();下面是寫的一個驗證js事件起泡的過程方法。
復制代碼 代碼如下:
<script type="text/javascript">
$(document).ready(function(){
$('.one').click(function(e){
alert('one');
});
$('.two').click(function(e){
alert('two');
});
$('.three').click(function(e){
alert('three');
//阻止起泡取消下面的注釋
// e.stopPropagation();
});
});
</script>
<div class="one" style="width:200px;height:200px;background:green;">
one
<div class="two" style="width:150px;height:150px;background:yellow;">
two
<div class="three">
three
</div>
</div>
</div>

(4)總結
1.一個事件起泡對應觸發的是上層的同一事件
特殊:如果two設置成雙擊事件,那麼在你單擊two的時候就會起泡觸發one單擊的事件
(雙擊包含單擊)。
2.如果在click事件中,在你要處理的事件之前加上e.preventDefault();
那麼就取消了行為(通俗理解:相當於做了個return操作),不執行之後的語句了。
3.e.stopPropagation()只要在click事件中,就不會觸發上層click事件。

㈣ web前端需要哪些技術

  1. 所有知識框架,那肯定是一個結構型的展現,就是一棵樹。web前端的知識點非常多,也非常散,需要好幾層結構來組織這個體系,否則就會顯得很亂。那麼如何組織、把誰和誰放在一塊兒?這是真正值得我們去思考的,你也可以自己來思考一下這個問題。

  2. 在我總結的這個知識框架中,首先第一層我劃分為:理論知識,類庫框架,編碼開發,運行環境。如下圖:

首先,你要知道web系統雖然大部分是在瀏覽器下運行,但是js可能會被運行在node環境。

在瀏覽器環境下,最重要的兩點是:web安全和性能優化。需要注意的綱要我都列出來了,如果想了解推薦兩本書《白帽子將web安全》《高性能網站建設指南》

8. 其他

以上這些是全部的知識體系。如果你想成為一名合格的、讓leader喜歡的程序猿,你除了知道這些知識之外,我覺得還需要以下幾點:

  • 要了解敏捷軟體開發流程(如SCRUM)和項目管理知識(如考取PMP),這也屬於一種「軟」知識吧;

  • 要學會在網上和別人交流(博客、qq群、開源項目),交流能讓自己看到自己的不足;

  • 要學會自我反省和自我學習。就像我現在一樣,試著自己總結一下屬於自己的東西,隨時反省隨時進步

  • ㈤ Web前端開發主要學哪些

    前端知識是一種很火的技術,一直在編程語言中名列前茅,而且隨著瀏覽器技術不內斷發展,還有會很多擴容展的可能性,比如3D可視化,谷歌發布一個全新的圖形工具TensorFlow Graphics,結合計算機圖形學和計算機視覺技術,以無監督的方式解決復雜3D視覺任務,無疑谷歌瀏覽器也會支持3D圖像,前端技術實現在線可視化開發,基於webgl的3D框架有thingjs,three.js。
    thingjs是這兩年新興的3D框架,更加簡單,官網有注冊優惠別錯過~理論知識是基礎,對於前端開發者來說,技術應用是進一步的需求,所以thingjs提供免費3D源碼和3D模型庫,讓你在項目開發過程中有東風助力,在實操的過程中你會更好地吸收前端技術知識!
    前端技術肯定不是最終的目的,做成一個有價值的商業項目,才能讓你更有成就感!

    閱讀全文

    與threejs注釋相關的資料

    熱點內容
    要我蘋果賬號密碼忘記了怎麼辦 瀏覽:578
    快快卡在配置游戲文件 瀏覽:393
    數據包重發時間怎麼調整 瀏覽:882
    youtubeapp怎麼下載 瀏覽:366
    編程檢測是什麼 瀏覽:753
    網路攝像機的傳輸距離 瀏覽:941
    超值貓qq群購秒殺群 瀏覽:138
    pdf文件能備注嗎 瀏覽:174
    html可視化數據源碼在哪裡 瀏覽:387
    adobereader專用卸載工具 瀏覽:28
    vivo手機數據如何備份 瀏覽:888
    ithmb文件轉換器 瀏覽:66
    看病找什麼網站好 瀏覽:579
    linux如何查看文件系統 瀏覽:581
    linux統計點頻率 瀏覽:627
    全民泡泡大戰安琪兒升級 瀏覽:620
    編程scratch如何保存 瀏覽:750
    aspnetmvc傳json 瀏覽:132
    如何下載看神片的狐狸視頻app 瀏覽:579
    怎樣將木紋文件添加到cad 瀏覽:223

    友情鏈接