Javascript 什么';函数对象的name属性是什么? 函数obj1(){} 警报(obj1.name); var obj2=函数(){} obj2.name='obj2'; 警报(obj2.name='';

Javascript 什么';函数对象的name属性是什么? 函数obj1(){} 警报(obj1.name); var obj2=函数(){} obj2.name='obj2'; 警报(obj2.name='';,javascript,Javascript,我已经在Chrome、ff、safari中测试了代码 但是IE9没有这个属性 问题是我在哪里可以阅读文档来找到所有此类情况?Mozilla文档中说: <script> function obj1(){} alert(obj1.name); var obj2 = function(){} obj2.name = 'obj2'; alert(obj2.name==''); </script> 因此,它是一些浏览器实现的非标准特性。

我已经在Chrome、ff、safari中测试了代码

但是IE9没有这个属性


问题是我在哪里可以阅读文档来找到所有此类情况?

Mozilla文档中说:

<script>
    function obj1(){}
    alert(obj1.name);

    var obj2 = function(){}
    obj2.name = 'obj2';
    alert(obj2.name=='');

</script>
因此,它是一些浏览器实现的非标准特性。由于没有标准来规定它应该如何工作,因此不同浏览器的实现可能有所不同

参考:

文件和文档非常完整,您可以在其中找到任何标准功能。如果您发现这样的非标准属性,则通常仅为支持该属性的浏览器记录该属性


Javascript语言的最终资源当然是,但是它比实现文档要复杂得多


对于DOM(HTML、CSS、Javscript界面)中的功能,是指定标准的。您可以在此处找到Microsoft规范:


但事实上,它是非标准的,微软这次选择了遵循规范。

使用语法new Function(…)或just Function(…)创建的函数在Firefox和Safari上的name属性设置为“匿名”,在Chrome和Opera上的name属性设置为空字符串。Internet Explorer不支持此属性

资料来源:

name
  Non-standard 
  The name of the function.