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

在控制台中定义JavaScript对象

何灼光
2023-03-14
问题内容

当我在Chrome JavaScript Console中键入简单对象时,会得到如下输出:

>true
true
>1/3
0.3333333333333333

等等。

但是当我键入对象时发生语法错误:

>{ a: 1, b: 2 }
SyntaxError: Unexpected token :
arguments: Array[1]
0: ":"
length: 1
__proto__: Array[0]
get message: function getter() { [native code] }
get stack: function getter() { [native code] }
set message: function setter() { [native code] }
set stack: function setter() { [native code] }
type: "unexpected_token"
__proto__: Error

虽然我确定可以在初始化对象时正确使用此表达式,因为:

>obj = { a: 1, b: 2 }
Object
a: 1
b: 2
__proto__: Object

也许这是一个愚蠢的问题,但我真的想知道为什么会这样吗?


问题答案:

因为您的语句被视为一个 block ,而不是对象文字声明。

请注意,ExpressionStatement不能以大括号开头,因为这可能会使它与Block不明确。另外,ExpressionStatement不能以function关键字开头,因为这可能会使它与FunctionDeclaration产生歧义。

要使其作为 表达式 求值,它必须是赋值的右侧,用括号括起来或在运算符之前。(!{a:1,b:2}



 类似资料:
  • 问题内容: 对于不使用jQuery的网站,是否有简便的方法将jQuery包含在ChromeJavaScript控制台中?例如,在一个网站上,我想获取表中的行数。我知道使用jQuery确实很容易。 该网站不使用jQuery。我可以从命令行添加它吗? 问题答案: 在浏览器的JavaScript控制台中运行它,然后jQuery应该可用… 注意: 如果该站点的脚本与jQuery(其他库等)冲突,您仍然可能

  • 问题内容: 我正在使用Firebug,并且有一些类似的语句: 在我的页面中。在IE8(可能也是早期版本)中,我收到脚本错误,提示“控制台”未定义。我尝试将其放在页面顶部: 仍然我得到错误。任何摆脱错误的方法吗? 问题答案: 尝试 未定义的变量不能直接引用。但是,所有全局变量都是与全局上下文名称相同的属性(对于浏览器而言),可以访问未定义的属性。

  • 问题内容: 我想知道是否可以使用某些命令清除控制台。 ,可以打印…是否有清除控制台的命令? 我试着在下面得到这个功能… [我想没有办法清理控制台…但是我想让别人对我说…] 问题答案: 更新:截至2012年11月6日,是现在可以在Chrome金丝雀。 如果您键入控制台,它将清除它。 我认为没有办法以编程方式进行此操作,因为它可能会被滥用。(控制台已通过某些网页清除,最终用户无法访问错误信息) 一种可

  • 所以,我的代码是 但是控制台是空的。没有错误,什么都没有。我做错了什么?

  • 问题内容: 我有以下JavaScript代码: 我希望它应该输出以下输出: 但是,它打印以下内容: 为什么在第一次迭代后打印“未定义”?重要说明: 仅 当在JavaScript控制台中执行代码时,我 才会 看到这种行为。如果它是页面的一部分,则可以正常工作。 问题答案: 这是因为“ printCounter()”函数本身返回。那是控制台告诉您表达式的结果。 通过添加到末尾来更改“ printCou

  • 本文向大家介绍javascript控制台详解,包括了javascript控制台详解的使用技巧和注意事项,需要的朋友参考一下 一、显示信息的命令 console.log(); //控制台输入 网页中不会输出 console.info(); //一般信息 console.debug(); //除错信息 console.warn(); //警告提示 console.error(); //错误提示 “co