小编Pat*_*rts的帖子

在生成器上使用扩展语法时为什么不检索返回值

我期望 4 成为序列数组的一部分,为什么它被跳过了?

function* generate() {
  yield 1;
  yield 2;
  yield 3;
  return 4
}
let sequence = [...generate()];
console.log(sequence); // 1, 2, 3
Run Code Online (Sandbox Code Playgroud)

javascript functional-programming generator ecmascript-6 spread-syntax

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

Chrome 如何获取当前标签的 id?

chrome.tabs.getCurrent(function(tab)?
  alert(tab.id);
});
Run Code Online (Sandbox Code Playgroud)

tab对象吗?为什么没有id属性?

如何获取id当前选项卡的?

javascript google-chrome-extension

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

CSS3滤镜灰度和饱和度有什么区别?

我知道灰度从0到0的范围当然与饱和度从1到0的范围相反,但除此之外,它们的表现完全不同吗?

编辑

我的问题涉及这些过滤器在1-0范围内的行为.他们在内部应用相同的算法还是操作有些不同?我不是要求简单地从MDN引用信息.

编辑2

只是将这些与我的眼睛进行比较,它们看起来略有不同,但我无法确定.

@keyframes fadegrayscale {
  from {
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
  }
  
  to {
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
  }
}

@keyframes fadesaturate {
  from {
    -webkit-filter: saturate(1);
    filter: saturate(1);
  }
  
  to {
    -webkit-filter: saturate(0);
    filter: saturate(0);
  }
}

img.grayscale {
  animation: fadegrayscale 2s linear alternate infinite;
}

img.saturate {
  animation: fadesaturate 2s linear alternate infinite;
}
Run Code Online (Sandbox Code Playgroud)
<img src="http://www.fillmurray.com/200/300" class="grayscale"/>
<img src="http://www.fillmurray.com/200/300" class="saturate"/>
Run Code Online (Sandbox Code Playgroud)

css image-processing filter css3

6
推荐指数
1
解决办法
854
查看次数

使用带有Arguments对象的扩展语法

我知道必须非常小心Arguments函数对象

但是使用带有Arguments对象的扩展语法有任何已知的缺点(优化/性能问题)吗?或者这完全可以吗?

我想从传递给函数的未知数量的参数创建一个数组:

function Numbers(){
    this.numbers = [...arguments];
}
Run Code Online (Sandbox Code Playgroud)

可以在这里找到一个小提琴

它看起来很整洁,在MDN页面中有关Arguments对象甚至建议我可以使用spread运算符:

您还可以使用Array.from()方法或扩展运算符将参数转换为实数数组.

但我还是想看看其他人是否对此有另一种看法.

javascript arrays arguments spread-syntax

6
推荐指数
1
解决办法
3754
查看次数

我可以在临时结果中溢出uint32_t吗?

基本上当我这样做时,32位系统会发生什么:

uint32_t test (void)
{
  uint32_t myInt;

  myInt = ((0xFFFFFFFF * 0xFFFFFFFF) % 256u );

  return myInt;
}
Run Code Online (Sandbox Code Playgroud)

c

6
推荐指数
1
解决办法
403
查看次数

如何在汇总中使用 css @import?

我尝试创建一个简单的汇总应用程序配置,但在使用 css 时遇到了一些麻烦。

这是我的 css 文件:

@import "normalize.css";
@import "typeface-roboto";

html, body, #root {
  height: 100%;
  font-family: Roboto, serif;
}

body {
  background: url('./images/background.jpg');
}
Run Code Online (Sandbox Code Playgroud)

我所拥有的只是关于未找到资源的 3 个错误。

这是我的配置文件:

import resolve from 'rollup-plugin-node-resolve'
import commonjs from 'rollup-plugin-commonjs'
import babel from 'rollup-plugin-babel'
import replace from 'rollup-plugin-replace'
import postcss from 'rollup-plugin-postcss'
import html from 'rollup-plugin-fill-html'
import url from "rollup-plugin-url"

process.env.NODE_ENV = 'development'

const CWD = process.cwd()
const Paths = {
  SRC: `${CWD}/src`,
  DIST: `${CWD}/dist-rollup`,
  NODE_MODULES: `${CWD}/node_modules`
}
Object.assign(Paths, {
  INPUT: Paths.SRC + …
Run Code Online (Sandbox Code Playgroud)

css import rollup rollupjs

6
推荐指数
1
解决办法
6648
查看次数

JS 的扩展语法是否出现在其他语言中?

我第一次遇到 JavaScript 中的 spread( ...) 语法,并且逐渐欣赏它可以做的许多事情,但我承认我仍然觉得它很奇怪。其他语言中是否有等效项?在那里它叫什么?

javascript programming-languages spread-syntax

6
推荐指数
1
解决办法
1206
查看次数

TypeScript接口可以扩展到另一个接口吗?

在JavaScript中,可以使用扩展语法将对象扩展到另一个对象:

const a = {one: 1, two: 2}
const b = {...a, three: 3} // = {one: 1, two: 2, three: 3}
Run Code Online (Sandbox Code Playgroud)

有没有办法以这种方式将打字稿界面传播到另一个界面?

interface IA {
  one: number;
  two: number;
}

interface IB {
  ...IA; // Does not work like this
  three: number;
}
Run Code Online (Sandbox Code Playgroud)

这样生成的界面IB看起来像这样:

{
  one: number;
  two: number;
  three: number;
}
Run Code Online (Sandbox Code Playgroud)

interface object typescript spread-syntax

6
推荐指数
1
解决办法
1323
查看次数

如何在JavaScript中使用箭头函数克隆对象?

我有这段JavaScript代码:

class Foo {
    constructor() {
        this.b = 1;
        this.getB = () => { return this.b; };
    }
}

const normalFoo = new Foo();
const clonedFoo = magicClone(normalFoo);

clonedFoo.b = 5;

console.log(clonedFoo instanceof Foo); // should be true
console.log(clonedFoo.getB()); // should be 5
Run Code Online (Sandbox Code Playgroud)

我想知道我可以替换什么magicClone以获得所需的结果(例如,一个尊重箭头功能绑定的克隆).

我对任何类型的可怕黑客都很好,只要他们在这种情况下工作,我也可以使用大多数时间都有效的解决方案.这主要是为了我的启发:)


请不要将此问题作为副本关闭 - 克隆对象已被多次询问,但我找不到单一的答案.Object.assign,lodash cloneDeep,jQuery的克隆等都不处理这种情况.

javascript scope clone deep-copy

6
推荐指数
1
解决办法
323
查看次数

从流式音频节点js中删除高频声音

我有一个小应用程序接受来自互联网的传入音频流,我试图找到音调或连续发出哔哔声的频率.在音调/哔哔声时,它是唯一可以播放的东西.其余的音频是沉默或说话.我正在使用node-pitchfinder npm模块来查找音调,当我使用由2,000Hz制作的样本音频剪辑时,app会打印出一到两赫兹的频率.当我在线提取音频流时,我会得到17,000 Hz的结果.我的猜测是音频信号中存在一些"噪音",这就是节点 - 音调探测器模块正在拾取的东西.

有没有什么方法可以实时滤除噪音以获得准确的频率?

流音频文件是:http://relay.broadcastify.com/fq85hty701gnm4z.mp3

代码如下:

const fs = require('fs');
const fsa = require('fs-extra');
const Lame     = require('lame');
const Speaker  = require('speaker');
const Volume   = require('pcm-volume');
const Analyser = require('audio-analyser')
const request  = require('request')
const Chunker  = require('stream-chunker');
const { YIN } = require('node-pitchfinder')
const detectPitch = YIN({ sampleRate: 44100})
//const BUFSIZE  = 64;
const BUFSIZE  = 500;

var decoder   = new Lame.Decoder(); 
decoder.on('format', function(format){onFormat(format)});

var chunker  = Chunker(BUFSIZE);
chunker.pipe(decoder);

var options = {
    url: …
Run Code Online (Sandbox Code Playgroud)

javascript audio pcm audio-streaming node.js

6
推荐指数
1
解决办法
426
查看次数