javascript - 无法打印对象的值

标签 javascript

在 JavaScript 中

我无法从对象中获取值。

打印时整个对象正在打印。但是,当我尝试仅访问 1 个字段时,它显示错误

function add_new_row()
{
  let gg = 
  {
    "1st_col" : '99',
    "2nd_col" : '88',
    "3rd_col" : ['77', '66'],
    "4th_col" : '55',
  }
  console.log(gg); //{1st_col: "99", 2nd_col: "88", 3rd_col: Array(2), 4th_col: "55"}
  console.log(gg.1st_col); //Error here

  //this is the line where I called this function in button HTML
}

抛出的错误是:

Uncaught ReferenceError: add_new_row is not defined
    at HTMLInputElement.onclick (index2.html:120)
    onclick @ index2.html:120

最佳答案

如果字段名称以数字开头,则无法通过点表示法进行访问。这是 JavaScript 编译器词法分析中定义的变量命名约定规则。

这是有效的:

gg.first_col
gg._1st_col
gg.a1st_col

如果使用括号表示法,以这种方式引用这些字段是有效的:

gg["1st_col"]

--- 编辑 ---

以下是在 javascript 中定义变量名称的基本规则:

  • 名称应以小写字符串开头。
  • 名称不能包含符号或以符号开头。
  • 名称不能以数字开头。
  • 名称可以包含大写字符串、小写字符串和数字的混合。

来源:https://scotch.io/courses/10-need-to-know-javascript-concepts/declaring-javascript-variables-var-let-and-const

关于javascript - 无法打印对象的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56160205/

相关文章:

javascript - 如何让 html 中的多个按钮指向同一个 JS 函数

javascript - 来自函数参数的数据与分配的变量之间的任何性能差异?

javascript - Loopbackjs:根据请求来源切换数据源中的数据库

javascript - Append() 方法没有复制样式

javascript - 使用 Javascript 变量存储来自 <%= %> 的 Ruby 输出

javascript - 如何在用户单击按钮时显示文本区域和按钮,但它不是模式

javascript - span 不会在列表中触发 OnClick react 子组件

javascript - 如何在 keydown 事件上使用 id-name?

javascript - 如何在 JavaScript 中获取渐变颜色的十六进制代码(基于值的 3 种颜色)

javascript - 我需要在 js 中创建我的 CSS 类的多个实例