javascript - Chrome 和 Safari 中 Javascript 的奇怪行为

标签 javascript google-chrome safari

我写了这段和平的代码:

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/

相关文章:

Javascript 可选链接不适用于模板文字

javascript - 检测是否通过 getter 查看图像(在控制台中)

javascript - 在页面加载时在 chrome 扩展中运行 js 脚本

javascript - 将 Greasemonkey 脚本移植到 Chrome

google-chrome - 浏览器会缓存错误响应吗?

javascript - 为 iPad 设计网站

javascript - 函数中的表达式在应计算为 true 时未计算为 true。我怎样才能解决这个问题?

javascript - 如何正确地顺时针旋转图像(从原点转换)CSS/Javascript

javascript - 滚动元素上的渐变在Safari中突然消失

html - 最大宽度似乎在 safari 中不起作用