我写了这段和平的代码:
var a=function(){
};
a.name="test";
a.prop="test2";
现在,如果我使用控制台调试代码:
console.log(a.name);
console.log(a.prop);
在 Firefox 中,我得到 a.name="test"
和 a.prop="test2"
,而在 Safari 和 Chrome 中,我得到 a.prop ="test2"
但a.name=""
。
似乎无法在 Webkit 浏览器中为函数分配“名称”属性。你知道为什么吗?但最重要的是,您知道解决方法吗?
最佳答案
函数实例具有非标准 name
属性将返回函数的名称,如果函数是匿名的(就像你的函数一样),则返回一个空字符串。当您尝试写入属性时,浏览器会有不同的 react ,因此我建议使用另一个属性名称。
关于javascript - Chrome 和 Safari 中 Javascript 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3023098/