本文目錄一覽:
- 1、請問使用百度地圖javascriptAPI的源代碼,寫成html文件,為什麼直接用瀏覽器打開什麼都沒有顯示?
- 2、js源碼在哪裡看
- 3、Three.js源碼解讀一:Object3D
- 4、哪些JavaScript 框架的源代碼最值得閱讀和學習
請問使用百度地圖javascriptAPI的源代碼,寫成html文件,為什麼直接用瀏覽器打開什麼都沒有顯示?
這個是需要檢測域名的,需要你本地創建一個web服務器。
直接打開html文件,是無法正常顯示的,可以使用iis或者apache等本地服務器地址訪問。
js源碼在哪裡看
javascript的源碼 被嵌入到瀏覽器中一般是看不到的
如果是javascript語言寫的代碼,可以在頁面上右鍵–》 查看源碼,在head部分找到引入的javascript文件的路徑,然後再瀏覽器當前頁面的網址 加上該文件的路徑,就可以查看了
Three.js源碼解讀一:Object3D
可能很多同學會發現,學習Three.js的API非常容易,但是真正理解API的作用卻非常難。其實讓大家感到難的並不是Three.js本身,而是Three.js背後所隱藏的3D圖形學知識。本系列Three.js源碼解讀文章,會幫你一邊補齊3D圖形學的基礎知識,一邊真正理解到Three.js的實現原理,知其然,知其所以然。
Object3D是ThreeJS中大部分物體的基類,它包含了物體的位移,旋轉,縮放,以及各個物體父子關係的js實現。選取Object3D幾個重要的屬性做解釋:
一個3D對象往往由多個父子對象組成,父對象的位移, 旋轉, 縮放會傳遞給所有的子對象。
this.parent指向父對象,this.children包含了所有的子對象。
通過 add 為物體添加子對象。需要注意的是,如果該子對象有其他的父對象,會先解除子對象和舊的父對象的父子關係,然後將子對象添加到新的父對象中。
this.matrix表示物體自身的本地形變,this.matrixWorld表示物體的全局形變。當物體沒有父對象時,全局形變就是本地形變。
為什麼對象組合這麼重要呢?看下面的例子:
這兩個立方體共同組成了一個3D對象,下面的立方體為底座,上面的立方體為操作臂。當底座轉動的時候,操作臂會同樣轉動,所以操作臂的形變會傳遞給底座。當操作臂旋轉時,底座不會被影響。
這裡,底座就是操作臂的父對象。只要簡單的將底座的全局形變(this.parent.matrixWorld)和操作臂的本地形變(this.matrix)相乘,就能得到操作臂的最終形變。是不是很方便?
3D物體的位移,旋轉,縮放都可以通過矩陣表示。其中,旋轉除了通過矩陣,還可以通過歐拉角和四元數表示。
Object3D的rotation代表物體旋轉的歐拉角表示,quaternion代表了四元數表示,他們是3D物體統一旋轉的不同數學表達方式。(矩陣,歐拉角,四元數表示旋轉
onRotationChange , onQuaternionChange 這兩個回調用於同步歐拉角和四元數,保證他們代表着相同的旋轉角度。
3D交互一個很大一部分工作量是需要在物體的本地空間( this.matrix )和世界空間( this.matrixWorld )進行坐標轉換。
哪些JavaScript 框架的源代碼最值得閱讀和學習
推薦順序:
underscore.js:一個JavaScript實用庫,提供了一整套工具方法,github上有帶注釋的源碼,一千多行。學習一下封裝那些常用api的最佳實踐。
zepto.js:jquery的移動版?源碼也不多
backbone.js: 兩千多行的MVC框架,在閱讀angular源碼之前先閱讀一個經典而輕量的backbone吧
這三個是開始閱讀源碼比較推薦的,除此之外可以看一些UI框架,一些經典輪子之類的,比如閱讀fastclick這種,學習一波手勢與事件
原創文章,作者:MABH,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/149878.html