javascript - 如果我们使用 : operator? 在函数内定义属性会发生什么

标签 javascript

在下面的代码中,我向函数 obj1 添加了一个新属性。但是,当我打印 obj1.name 的值时,它什么也没显示,只是空白!

好吧,如果我所做的事情是错误的,那么 JavaScript 引擎必须提示,但它不会。那么这里发生了什么?

var obj1 = function (){
    name:"john";
};


console.log(obj1.name);// prints nothing!

最佳答案

name: 这里的 token 被解析为标签。

所以这是一个语法上有效的脚本:

  1. 声明标签
  2. 计算字符串表达式

因此,obj1.name 仍然未定义,因为您尚未在任何地方设置其属性。

引用文献:

关于javascript - 如果我们使用 : operator? 在函数内定义属性会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36586735/

相关文章:

javascript - 如何在 vim 快捷键 gf 之前添加 .js 或 .c++?

javascript - jQuery UI 工具提示 - 动态内容

javascript - Ruby 相当于 JavaScript 的 encodeURIComponent 产生相同的输出?

javascript - 使用 WebSockets 的 react 原生应用程序中的架构

javascript - 为什么我的 JavaScript 代码只在第二次点击时执行?

javascript - Sitecatalyst - DTM - 直接调用规则 - 清除粘性变量

javascript - 我可以在 div ID 中使用 float 吗?

javascript - 如何将变量绑定(bind)到 jquery ajax 请求?

javascript - 窗口大小调整时如何计算图像的X Y坐标?

javascript - 网格中的多个视频的视频缩略图是重复的