有什麼方法可以查看JavaScript默認方法的源代碼嗎?例如.sort()或.reverse()。我認爲是C代碼,但我可以在哪裏閱讀它?有什麼方法可以查看JavaScript默認方法的源代碼嗎?
0
A
回答
2
在SpiderMonkey's JavaScript Array implementation(在Firefox中使用)的代碼中,您首先需要查看array_sort
和array_reverse
函數。更一般地,尋找array_methods
常數;它有相關功能的索引。
在代碼V8's JavaScript Array implementation(在Chrome和Opera中使用)中,您需要分別查找ArraySort
和ArrayReverse
函數。查找GlobalArray.prototype
以查找其他功能的索引。
JavaScript Core's JavaScript Array implementation(在Safari中使用)有點不同尋常,因爲Array.prototype.sort
及其之類實際上是在JavaScript中實現的。您想要的排序功能在這個文件中簡單地命名爲sort
。但是,並不是所有的Array.prototype
函數族都在該文件中找到;例如,我不確定reverse
在哪裏。
Chakra的實現(在IE中使用)的源代碼不可用,我懷疑它們可能永遠不會。 Presto實現的源代碼也是如此(以前在Opera中使用,在切換到Blink/V8之前)。
相關問題
- 1. 有什麼方法可以獲取網頁查看源內容?
- 2. 默認情況下有什麼方法可以使用JavaScript屬性嗎?
- 3. 當有人查看源代碼時,有什麼方法可以隱藏swfobject傳遞給Flash的變量嗎?
- 4. 有什麼方法可以結合這個C#代碼嗎?
- 5. 有什麼方法可以檢索Amazon產品代碼嗎?
- 6. javascript:什麼是「默認」方法?
- 7. 有什麼方法可以用AngularJS寫評論,以便在查看源代碼時不可見
- 8. 有什麼方法可以替代Response.Write?
- 9. 有什麼方法可以查找查詢的值嗎?
- 10. 有沒有什麼方法可以在html中查看文件?
- 11. 有什麼方法可以查看python包的所有版本嗎?
- 12. 有什麼方法可以查看自己的svn權限
- 13. VisualStudio的默認代碼發現方法
- 14. 有什麼方法可以查看光標的AUTO模式如何在AS3中工作的源代碼?
- 15. 有什麼方法可以設置和繞過驗證碼默認值?
- 16. 的默認方法是私有的嗎?
- 17. 什麼是可以傳遞給Environment.Exit方法的默認值?
- 18. 有什麼方法可以在iPhone上查看文件?
- 19. 有什麼好方法可以查看變量來自哪裏?
- 20. 有什麼方法可以查看跑道應用程序的日誌嗎?
- 21. 有什麼方法可以查看httpclient發送的原始請求嗎?
- 22. 我們可以查看runtime.js的未編譯JavaScript源代碼嗎?
- 23. 有沒有什麼方法可以縮短這個代碼呢?
- 24. C#中有什麼方法可以用擴展方法覆蓋類方法嗎?
- 25. 我可以讓ruby打印動態方法的源代碼嗎?
- 26. 有什麼方法可以檢查源是否已訂閱?
- 27. 有什麼方法可以訪問Android中源代碼樹中的文件?
- 28. 有什麼方法可以理解新的C/C++源代碼庫?
- 29. 有什麼方法可以隱藏嵌入式Google Spreadsheet的源代碼?
- 30. 什麼是`object`的默認`apply`方法?
JavaScript是一個規範。有各種各樣的實現,其中之一是[谷歌的V8](https://code.google.com/p/v8/) - 你可以從那裏開始。 –
這些似乎是['Array.prototype.sort()']的定義(https://github.com/v8/v8-git-mirror/blob/0b81f67b12550c118f1a94528c73e1cec01263a2/src/array.js#L857-L1140)和V8中的['Array.prototype.reverse()'](https://github.com/v8/v8-git-mirror/blob/0b81f67b12550c118f1a94528c73e1cec01263a2/src/array.js#L560-L593)。它們都是用JavaScript編寫的。 – Frxstrem
謝謝大家! :) – user2105306