小编gue*_*314的帖子

ECMAScript文档中的SpreadElement是什么?它与MDN上的Spread语法相同吗?

ECMAScript规范SpreadElement描述

SpreadElement[Yield]:
...AssignmentExpression[In, ?Yield]
Run Code Online (Sandbox Code Playgroud)

这与Spread语法相同

扩展语法允许在可能需要零个或多个参数(用于函数调用)或元素(用于数组文字)的位置扩展数组表达式或字符串等可迭代的值,或者在零或更多的位置扩展对象表达式键值对(对象文字)是预期的.

句法

对于函数调用:

myFunction(...iterableObj);
Run Code Online (Sandbox Code Playgroud)

对于数组文字:

[...iterableObj, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

MDN文档中描述?

什么是SpreadElement和/或扩展语法的用例; 如果SpreadElement和传播语法不同,它们的具体方式有何不同?

javascript ecmascript-6 spread-syntax

42
推荐指数
1
解决办法
3733
查看次数

没有递归函数调用的排列

要求:生成集合的所有可能组合的算法,无需重复,或递归调用函数以返回结果.

大多数,如果不是所有的答案都在JavaScript中的Permutations提供从循环或其他函数中递归调用函数以返回结果.

循环内的递归函数调用示例

function p(a, b, res) {
  var b = b || [], res = res || [], len = a.length;
  if (!len) 
    res.push(b)
  else 
    for (var i = 0; i < len 
         // recursive call to `p` here
       ; p(a.slice(0, i).concat(a.slice(i + 1, len)), b.concat(a[i]), res)
       , i++
    );
  return res
}

p(["a", "b", "c"]);
Run Code Online (Sandbox Code Playgroud)

当前的问题试图在线性过程中创建给定的排列,依赖于先前的排列.

例如,给定一个数组

var arr = ["a", "b", "c"];
Run Code Online (Sandbox Code Playgroud)

确定可能的排列总数

for (var len = 1, i = k …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm permutation

29
推荐指数
6
解决办法
4479
查看次数

如何在FileList对象中设置File对象和length属性,其中文件也反映在FormData对象中?

可以将元素的.files属性设置为例如来自不同的元素属性或属性.请参阅Make .files settable#2866,将文件上传到HTML表单并提交之间会发生什么?.<input type="file">FileList<input type="file">.filesDataTransfer.files

FileList对象有一个Symbol.iterator属性,我们可以使用它来设置一个File可迭代的对象,但是.files .length仍然设置为0并传递一个<form><input type="file">用于.files使用上述方法设置的集合,产生一个设置为的File对象..size0

如何设置Fileat FileList和set设置.lengthFileList文件数,文件在FormData()object 设置的位置?

const input = document.createElement("input");

const form = document.createElement("form");

const [...data] = [
  new File(["a"], "a.txt")
, new File(["b"], "b.txt")
];

input.type = "file";

input.name = "files";

input.multiple = true;
// …
Run Code Online (Sandbox Code Playgroud)

javascript form-data filelist fileapi

29
推荐指数
1
解决办法
9729
查看次数

CSS url()函数中<url-modifier>的示例用法是什么?

3.4.资源定位器:<url>类型描述了一个<url-modifier>at

URL是一个指向一个资源并且是表示的函数表示法<url>.a的语法<url>是:

<url> = url( <string> <url-modifier>* )

除了上面定义的语法之外,有时可以用其他方式编写:

  • 由于遗留原因,<url>可以在URL本身周围不带引号的情况下编写.这种语法是经过特殊解析的,并且<url-token>在语法上产生一个而不是一个函数.[ CSS3SYN ]

  • 一些CSS上下文,例如@import,允许用a <url>代表<string>.这与写入url()包含该字符串的函数的行为相同.因为这些替代的写作方式<url>不是功能性符号,所以它们不能接受任何<url-modifier>s.

注意:传统无引号标记<url>语法的特殊解析规则 意味着必须使用反斜杠转义URL中出现的括号,空白字符,单引号(')和双引号("),例如url(open\(parens),url(close\)parens).根据类型而定对于URL,也可以将这些字符写为URL转义(例如url(open%28parens)或者 url(close%29parens)),如[ URL ]中所述.(如果写为包含字符串的普通函数,则应用普通字符串转义规则;仅使用换行符和字符引用需要转义的字符串.)

3.4.2.URL修饰符

url()函数支持指定附加的<url-modifier>s,它以某种方式改变URL的含义或解释.A <url-modifier>是一个<ident>或一个函数.

此规范未定义任何<url-modifier>s,但其他规范可能会这样做.

另请参见CSS值和单位模块级别3编辑草案,2016年3月21日


  • 什么是示例用法<ident>functionurl()

  • 有什么差异 …

css css3

24
推荐指数
1
解决办法
1112
查看次数

为什么使用循环从数组的开始迭代到结束比从开始到结束和结束开始更快地迭代?

给定具有阵列.length 100包含具有值的元素0,以99在相应的索引,其中,所述要求是找到的阵列等于元件n:51.

为什么使用循环从数组的开始迭代到结束比从开始到结束和结束开始更快地迭代?

const arr = Array.from({length: 100}, (_, i) => i);
const n = 51;
const len = arr.length;

console.time("iterate from start");
for (let i = 0; i < len; i++) {
  if (arr[i] === n) break;
}
console.timeEnd("iterate from start");
Run Code Online (Sandbox Code Playgroud)

const arr = Array.from({length: 100}, (_, i) => i);
const n = 51;
const len = arr.length;

console.time("iterate from start and end");
for (let i = 0, k …
Run Code Online (Sandbox Code Playgroud)

javascript arrays iteration performance

21
推荐指数
1
解决办法
1485
查看次数

如何使用更改和删除事件在firefox和chrome/chromium上传和列出目录

mozilla和webkit浏览器现在都允许上传目录.当在<input type="file">元素中选择目录或目录或在元素处删除目录或目录时,如何按照它们在firefox和chrome/chromium的实际目录中出现的顺序列出所有目录和文件,并在迭代所有上载的目录时对文件执行任务?

javascript directory file-upload fileapi

18
推荐指数
1
解决办法
2854
查看次数

如何使用Blob URL,MediaSource或其他方法播放连续的Blob媒体片段?

我试图通过缺乏不同的描述来实现离线媒体上下文.

这个概念是创造1秒Blob的录制媒体,具有的能力

  1. Blobs独立播放1秒HTMLMediaElement
  2. 从连接的Blobs 播放完整的媒体资源

问题是,一旦Blobs被连接起来,媒体资源就不会HTMLMedia使用a Blob URL或者在元素上播放MediaSource.

创建的Blob URL只播放连接Blob的1秒.MediaSource抛出两个例外

DOMException: Failed to execute 'addSourceBuffer' on 'MediaSource': The MediaSource's readyState is not 'open'
Run Code Online (Sandbox Code Playgroud)

DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
Run Code Online (Sandbox Code Playgroud)

如何正确编码连接的Blobs或以其他方式实现变通方法以将媒体片段作为单个重组媒体资源播放?

<!DOCTYPE html>
<html>

<head>
</head>

<body>
  <script>
    const src = "https://nickdesaulniers.github.io/netfix/demo/frag_bunny.mp4";
    fetch(src)
      .then(response => response.blob())
      .then(blob => …
Run Code Online (Sandbox Code Playgroud)

javascript media codec bloburls media-source

17
推荐指数
1
解决办法
4300
查看次数

当设置为JavaScript对象的属性名称时,是否需要引用保留字?

给定一个对象文字或jQuery(html, attributes)对象,是否有任何规范说明保留字或未来的保留字必须引用?

或者,例如,class可以设置为对象的属性名称,而不使用引号括起属性名称,而不违反有关标识符,属性名称或保留字的使用的规范?

寻求关于这个问题的确凿答案以避免混淆.

let objLit = {
  class: 123,
  var: "abc",
  let: 456,
  const: "def",
  import: 789
}

console.dir(objLit);

jQuery("<div>012</div>", {
  class: "ghi"
})
.appendTo("body");
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
Run Code Online (Sandbox Code Playgroud)

有关:

规格

标识符名称是根据所述中给出的语法解释令牌Unicode标准的第5章的"标识符"部分,与一些小的修改.
标识符是不是ReservedWord的IdentifierName

javascript language-lawyer ecmascript-5

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

如何在Chrome上使用Web Speech API?

如何使用SpeechSynthesisUtterance()window.speechSynthesis.speak()在Chromium浏览器?

var msg = new SpeechSynthesisUtterance( "Hello I am browser" );
window.speechSynthesis.speak( msg );
Run Code Online (Sandbox Code Playgroud)

系统扬声器没有输出.

已经注意到API的问题HTML5 SpeechSynthesis API是垃圾 ;

var voices = window.speechSynthesis.getVoices();
Run Code Online (Sandbox Code Playgroud)

记录voices标识符的空数组; 并且只有chrome not chromium据称支持Web Speech API规范,Web Speech API Demonstrationhtml在演示时将元素的值设置为在页面启用麦克风时发声的话语.

至少有一些与功能相关的JavaScript显然是

var langs =
[['Afrikaans',       ['af-ZA']],
 ['Bahasa Indonesia',['id-ID']],
 ['Bahasa Melayu',   ['ms-MY']],
 ['Català',          ['ca-ES']],
 ['?eština',         ['cs-CZ']],
 ['Dansk',           ['da-DK']],
 ['Deutsch',         ['de-DE']],
 ['English',         ['en-AU', 'Australia'],
                     ['en-CA', 'Canada'],
                     ['en-IN', 'India'],
                     ['en-NZ', 'New Zealand'],
                     ['en-ZA', 'South Africa'],
                     ['en-GB', 'United Kingdom'],
                     ['en-US', …
Run Code Online (Sandbox Code Playgroud)

javascript chromium webspeech-api

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

新标签页中的Base64 PDF在刷新前显示空白页

标题说这一切真的......我有一个base64 pdf字符串,我追加到: data:application/pdf;base64,

使用我的网页中的链接将pdf带入新标签页.最初会显示一个空白页面,但随后我刷新页面并显示完美.

这个问题才开始,一旦我更改了我的NodeJS代码以检索PDF,在用https模块检索PDF 但现在我正在使用之前request.

https://jsfiddle.net/o7upp4d8/

html javascript google-chrome data-url chromium

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