在JavaScript中用冒号分配变量是有效的语法吗

Posted

技术标签:

【中文标题】在JavaScript中用冒号分配变量是有效的语法吗【英文标题】:Is it valid syntax to assign variables with a colon in JavaScript 【发布时间】:2013-09-03 19:56:05 【问题描述】:

我在 LinkedIn 开发者文档上看到了这个:

<script type="text/javascript" src="http://platform.linkedin.com/in.js">
  api_key:    [API_KEY]
  onLoad:     [ONLOAD]
  authorize:  [AUTHORIZE]
</script>

这是有效的 JavaScript 语法吗?我知道冒号通常用于设置对象的属性,所以我对这个在没有对象上下文的情况下使用它的示例有点困惑。

【问题讨论】:

【参考方案1】:

脚本标记的内容实际上不会被视为 JavaScript,因为 &lt;script&gt; 标记具有 src 属性。您正在加载的脚本会遍历所有 &lt;script&gt; 标记,查看其中是否有任何一个正在加载 platform.linkedin.com/in.js,然后使用 JavaScript 解析标记的正文。

这实际上是无效的 html,而且非常不直观,所以不要这样做。如果脚本标记具有src 属性,则它必须完全为空或仅包含 JavaScript cmets (source),因此依赖宽松的浏览器行为不是一个好主意。

【讨论】:

那么platform.linkedin.com/in.js是解析script标签内容的吗?嗯..你是说我不应该使用它,你知道是否有另一种方法来设置 in.js 所需的那些变量?因为据我了解,该脚本使用该语法。如果我错了,请纠正我,谢谢。 @beefjerky:是的。这是 LinkedIn 脚本采用的格式,因此除非您想从头开始重写他们的脚本,否则您必须使用他们的格式。我只是说你不应该在自己的脚本中使用这种格式。

以上是关于在JavaScript中用冒号分配变量是有效的语法吗的主要内容,如果未能解决你的问题,请参考以下文章

typescript基本语法

为啥在同一行上分配变量后shell内置冒号命令“:”会导致分配空字符串值?

C语言结构体中冒号的作用——位域

使用冒号、分号等符号将变量传递给 javascript 函数

在javascript中用逗号格式化数字变量的最佳方法是啥

axios GET 请求有效,但无法将结果内容分配给变量