小编tim*_*eam的帖子

`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万
查看次数

jQuery在自定义事件中为某些属性名称吃掉我的数据

这样做时:

$(document.body).on(
  'myevent',
  function (ev) {
    console.log(ev.data, ev.result);
  }
);

$(document.body).trigger(
  $.Event(
    'myevent',
    {
      data: 'foo',
      result: 'bar'    
    }
  )
);
Run Code Online (Sandbox Code Playgroud)

控制台返回[null, undefined].这有什么期待吗?我发现它很麻烦,因为没有原始事件要复制属性,我用完了属性名称来发送服务器响应.

参考:http://api.jquery.com/trigger/

参考:http://api.jquery.com/category/events/event-object/

注意文档描述了这种行为.如果有人知道为什么并从jQuery源代码解释它会很棒; 如果出现意外情况,我们可以提交错误.

jquery

4
推荐指数
2
解决办法
1541
查看次数