我目前正在学习javascript。
通常,当我学习某些东西时,我想进入细节并查看源代码并尝试理解内部的实际工作方式。
我试图找到JSON.stringify
函数的源代码,我找到了两个存储库(一个用于chrome,另一个用于firefox)。
然而,源代码库非常庞大,我似乎无法找到我想要的东西。所以我只是想知道,是否有一个很好的搜索策略可以帮助在如此庞大的存储库中找到特定的东西?
答案 0 :(得分:1)
我对Chrome源代码知之甚少,因此我会对Firefox代码库进行部分回答。正确识别后,最新的Firefox源代码存在here。
搜索Firefox代码库
但是,存储库本身并不适合搜索代码库并查找函数/实现,除非您已经知道需要查看的位置:)因此,创建了一些服务以简化搜索Firefox代码库:DXR和searchfox。这两种工具都有优点和缺点,并且能够很好地完成工作。
查找JSON.stringify
现在,这个棘手的派对。我知道JS引擎位于js/src
目录下(mdn docs这么说!)。 JSON
对象是内置对象集的一部分,如here所述。所以我的第一个guess search试图在该目录中查找stringify
字。我很幸运!显然,jsapi.h头文件在评论中提到ES5指定的" JSON.stringify。" :评论是针对JS_Stringify()
的,在相关的jsapi.cpp文件中实现它。
请告诉我这是否有帮助,或者您还有其他问题!