所以我一直在玩THREE.js并注意到一些奇怪的事情:
在Firefox中,当您打开开发人员控制台并输入camera.lookAt
(假设您的相机名为camera
)时,它会输出function THREE.Camera.prototype.lookAt</<()
。
现在我很好奇</<
的含义及其来源,据我所知,这些在JavaScript函数名称中不是有效字符。到目前为止,我还没有看到或注意到这一点。我试图重现这一点,但没有成功。
答案 0 :(得分:1)
有一些规则,根据FireFox为哪些匿名函数提供names
来在控制台和调用堆栈中显示它们。函数lookAt
是anonymous。
在FireFox中打开下面的代码,然后打开控制台并输入nonymous
。
<强>的index.html 强>:
<script>
var nonymous = function() {
return function() {
}
}();
</script>
控制台结果:
> nonymous
< function nonymous</<()
更多信息:
Nonymous: Function-Object Consumption Naming Algorithm Implementation
Splash Wavefront 2011论文:Naming Anonymous JavaScript Functions,作者:Salman Mirghasemi,John J. Barton和Claude Petitpierre教授
https://github.com/mozilla/gecko-dev/blob/master/js/src/vm/Debugger.cpp#L7720