相关疑难解决方法(0)

围绕javascript变量名称的{花括号}是什么意思

编辑 看着JSHint后,我发现这个" 解构表达"是ES6提供(使用esnext选项)或Mozilla JS扩展(使用MOZ) 看完后却我还是不明白为什么它被用来

我在MDN上遇到了以下代码

var ui = require("sdk/ui");
var { ActionButton } = require("sdk/ui/button/action");
Run Code Online (Sandbox Code Playgroud)

第二行的大括号是什么以及为什么使用它们?为什么第一行没有括号?

javascript firefox firefox-addon

145
推荐指数
1
解决办法
5万
查看次数

在node.js中加载并执行外部js文件,可以访问局部变量吗?

include('./path/to/file')在node.js中执行简单类型的命令是否容易/可能?

我想要做的就是访问局部变量并运行脚本.人们通常如何组织比简单的hello世界更大的node.js项目?(功能齐全的动态网站)

例如,我想要有以下目录:

/models

/views

......等

javascript node.js

124
推荐指数
5
解决办法
17万
查看次数

`var {...} = ...`语句中的花括号是做什么的?

不确定这是否是特定于Mozilla的JS语法,但我经常发现变量是以这种方式声明的,例如,在附加SDK文档中:

var { Hotkey } = require("sdk/hotkeys");
Run Code Online (Sandbox Code Playgroud)

并在各种chrome Javascript(let声明被用来代替var),

let { classes: Cc, interfaces: Ci, results: Cr, utils: Cu }  = Components;
Run Code Online (Sandbox Code Playgroud)

我发现它很混乱但我无法找到任何关于语法的文档,即使在MDN上也是如此.

javascript destructuring ecmascript-6 javascript-1.7

106
推荐指数
3
解决办法
2万
查看次数

这个符号在JavaScript中意味着什么?

这是什么?

这是一系列关于JavaScript中语法的问题.这也是社区Wiki,因此邀请每个人参与维护此列表.

为什么是这样?

Stack Overflow不允许搜索特定字符.因此,在搜索运算符和其他语法标记时,很难找到许多关于运算符和其他语法标记的问题.这也使得关闭重复更加困难.以下列表是为了解决此问题.

主要思想是在Stack Overflow上链接现有问题,因此我们更容易引用它们,而不是复制ECMAScript规范中的内容.

此外,这是PHP符号引用的公然副本.我们需要一个JS.


请帮忙.编辑并添加指向其他运算符/语法参考的链接,或者如果您无法在特定语法上找到好的问题/答案,请添加此问题的答案并将其链接

javascript

86
推荐指数
1
解决办法
14万
查看次数

Javascript对象文字:究竟是什么{a,b,c}?

我的问题最好通过这个jsfiddle,其代码如下:

var a = 1, b = 'x', c = true;

var d = {a: a, b: b, c: c}; // <--- object literal
var e = [a, b, c];          // <--- array
var f = {a, b, c};          // <--- what exactly is this??

// these all give the same output:
alert(d.a  + ', ' + d.b +  ', ' + d.c );
alert(e[0] + ', ' + e[1] + ', ' + e[2]);
alert(f.a  + ', …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

82
推荐指数
3
解决办法
4499
查看次数

带有花括号的Javascript(ES6)const

我是ECMAScript 6的新手,在尝试学习Ember时,我偶尔会看到以下代码风格:

const {
  abc,
  def
} = Object;
Run Code Online (Sandbox Code Playgroud)

我搜索了谷歌和许多网站,解释了新的ES6规范.我知道这不是当前的实现,因为我输入时我的控制台出错了.

这段代码是什么意思?

UPDATE

我将这个片段粘贴到Babel的转换器中,这就是它返回的内容:

"use strict";

var abc = Object.abc;
var def = Object.def;
Run Code Online (Sandbox Code Playgroud)

我仍然对这是想要实现的目标感到困惑.

javascript const ember.js ecmascript-6

76
推荐指数
1
解决办法
3万
查看次数

什么是`var {逗号,分隔,列表} =名称;`在JavaScript中?

react-native入门示例中,有以下代码:

var React = require('react-native');
var {
  AppRegistry,
  StyleSheet,
  Text,
  View,
} = React;
Run Code Online (Sandbox Code Playgroud)

这是什么意思var {...} = thing;

javascript ecmascript-6

49
推荐指数
0
解决办法
1015
查看次数

为什么`(foo)="bar"在JavaScript中合法?

在Node.js的REPL中(也在SpiderMonkey中测试)序列

var foo = null;
(foo) = "bar";
Run Code Online (Sandbox Code Playgroud)

是有效的,foo随后等于"bar"相反null.

这似乎违反直觉,因为人们会认为括号至少会取消引用bar在赋值中抛出无效的左侧.

可以理解的是,当你做任何有趣的事情时,它确实以上述方式失败了.

(foo, bar) = 4
(true ? bar : foo) = 4
Run Code Online (Sandbox Code Playgroud)

根据ECMA-262关于LeftHandExpressions(据我可以解释),没有有效的非终端会导致括号被接受.

有什么我没看到的吗?

javascript ecma

46
推荐指数
2
解决办法
2549
查看次数

var {Route,Redirect,RouteHandler,Link} = Router; 在Javascript中有效吗?

这在Javascript中意味着什么?我在react-router示例中找到了这个

var { Route, Redirect, RouteHandler, Link } = Router;
Run Code Online (Sandbox Code Playgroud)

通过browserify运行时出现以下错误.

"Uncaught SyntaxError: Unexpected token {"
Run Code Online (Sandbox Code Playgroud)

https://github.com/rackt/react-router/blob/master/examples/dynamic-segments/app.js

Esprima也会出现同样的错误:http: //esprima.org/demo/validate.html

javascript reactjs react-router

16
推荐指数
1
解决办法
1871
查看次数

带块的常量声明

最近我在研究Firefox Add-on Builder SDK源代码,并偶然发现了这样的常量声明:

const { getCodeForKey, toJSON } = require("../../keyboard/utils");
Run Code Online (Sandbox Code Playgroud)

我可以找到有关CommonJS模块的信息,但是这项任务的部分内容会让我感到困惑,因为它必须是特定于语言的,而且我无法对其进行任何操作.

有人能指出我的一些规范/草案,解释这里发生了什么?

javascript gecko spidermonkey destructuring variable-assignment

7
推荐指数
1
解决办法
782
查看次数