当前位置: 首页 > 面试题库 >

JavaScript使用变量“ name”不适用于JS对象

郜彬
2023-03-14
问题内容

可以在以下小片段中看到该行为(将其作为全局脚本执行):

var name = {};
name.FirstName = 'Tom';
alert(name.FirstName);

该警报undefined在Chrome中产生,但在IE和Firefox中有效。当我这样做时,我也会得到一个怪异的价值

alert(name);

问题答案:

window.name具有特殊用途,应该是字符串。Chrome似乎已将其显式转换为字符串,因此var name = {};实际上最终为全局变量name(即window.name)提供了值"[object Object]"。由于它是原始元素,因此属性(name.FirstName)不会“粘滞”。

要解决此问题,请不要将其name用作全局变量。



 类似资料:
  • 行为可以在这个小片段中看到(作为全局脚本执行): 该警报在Chrome中产生

  • 问题内容: from celery import Celery 这是我用来测试芹菜的代码。我希望每次使用addone()时,返回值都应该增加。但是为什么总是1? 结果 问题答案: 默认情况下,启动工作程序时,Celery以并发4启动它,这意味着它已启动4个进程来处理任务请求。(加上一个控制其他进程的进程。)我不知道该使用哪种算法将任务请求分配给为工作人员启动的进程,但是最终,如果执行足够,您将看到

  • 声明这样的对象时: 它抛出以下错误: 但是,使用任何其他变量名(例如,)都可以正常工作。为什么?

  • 问题内容: 我正在尝试学习Javascript。在这里,我对以下代码感到困惑。 当我放入函数时,它出了问题。例如, 但是,,是工作。为什么不工作?请帮我。提前谢谢 问题答案: 一个或两个变量是字符串而不是数字。这使do字符串串联在一起。 其他算术运算符将对字符串进行转换。 将字符串转换为数字的快速方法是使用一元运算符。 …或使用您的变量:

  • 我在保存输入项的容器div上有一个 的事件侦听器。但它仅适用于父 div,如果将鼠标悬停在输入上,则会触发 事件。捕获是否意味着输入正在触发父事件? 下面添加了事件监听器。 当您将元素拖到输入上时,会被触发,请参阅此处以获取显示问题的代码。http://codepen.io/ambrosedheffernan/pen/PPqdMd 注意:codepen中的代码在dragenter上有remove

  • 问题内容: 我开始学习node.js,现在我只是想用node执行我的旧无节点应用程序。在这个应用程序中,我有一个html页面,其中的正文调用了onload js函数。工作正常。 现在我有一个节点应用程序:app.js,很简单: 在.html中,我仍然有: 但我要加载的功能不再加载。 有什么线索吗? 谢谢 问题答案: 您没有在问题中提供很多信息,但是根据您提供的信息,我几乎没有什么建议: 意见建议