Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。

7
如何在JavaScript中将Blob转换为文件
我需要将图像上传到NodeJS服务器到某个目录。我正在connect-busboy为此使用节点模块。 我dataURL使用以下代码将图片转换为Blob: dataURLToBlob: function(dataURL) { var BASE64_MARKER = ';base64,'; if (dataURL.indexOf(BASE64_MARKER) == -1) { var parts = dataURL.split(','); var contentType = parts[0].split(':')[1]; var raw = decodeURIComponent(parts[1]); return new Blob([raw], {type: contentType}); } var parts = dataURL.split(BASE64_MARKER); var contentType = parts[0].split(':')[1]; var raw = window.atob(parts[1]); var rawLength = raw.length; var uInt8Array …

4
异步/等待隐式返回诺言?
我读到用async关键字标记的异步函数隐式返回一个promise: async function getVal(){ return await doSomethingAync(); } var ret = getVal(); console.log(ret); 但这并不连贯...假设doSomethingAsync()返回一个诺言,而await关键字将从诺言中返回值,而不是诺言itef,那么我的getVal函数应该返回该值,而不是隐式诺言。 那到底是什么情况?用async关键字标记的函数是隐式返回promise还是控制它们返回的内容? 也许,如果我们不明确地返回某些东西,那么他们会隐式地返回一个诺言...? 更清楚地说,上述内容与 function doSomethingAync(charlie) { return new Promise(function (resolve) { setTimeout(function () { resolve(charlie || 'yikes'); }, 100); }) } async function getVal(){ var val = await doSomethingAync(); // val is not a promise console.log(val); …

5
如何从Blob转到ArrayBuffer
我在研究Blob,发现有ArrayBuffer时,可以轻松地将其转换为Blob,如下所示: var dataView = new DataView(arrayBuffer); var blob = new Blob([dataView], { type: mimeString }); 我现在的问题是,是否可以从Blob转换为ArrayBuffer?

8
XMLHttpRequest无法加载XXX No'Access-Control-Allow-Origin'标头
tl; dr; 关于同一原产地政策 我有一个Grunt进程,用于启动express.js服务器实例。直到现在,当它开始为空白页提供服务时,它的工作情况都非常好,在Chrome(最新版本)的开发人员控制台的错误日志中显示以下内容: XMLHttpRequest无法加载https://www.example.com/ 所请求的资源上没有'Access-Control-Allow-Origin'标头。因此,不允许访问源' http:// localhost:4300 '。 是什么阻止了我访问该页面?


7
如何用JavaScript确定从现在起一年
我正在努力从现在起算是一年了,但是它不起作用。 JS: var now = new Date(); var oneYr = new Date(); oneYr.setYear(now.getYear() + 1); $("#yearFromNow").append(oneYr.toString()); var oneMonth = new Date(); oneMonth.setMonth(now.getMonth() + 1); $("#monthFromNow").append(oneMonth.toString()); 输出: one mo. = Thu Dec 22 112 15:16:01 GMT-0500 (Eastern Standard Time) one yr. = Sun Jan 22 2012 15:16:01 GMT-0500 (Eastern Standard Time) …
111 javascript 

8
覆盖Typescript d.ts文件中定义的接口属性类型
有没有办法改变*.d.ts打字稿中定义的接口属性的类型? 例如:中的接口x.d.ts定义为 interface A { property: number; } 我想在我写的打字稿文件中更改它 interface A { property: Object; } 甚至这将工作 interface B extends A { property: Object; } 这种方法行得通吗?当我在系统上尝试时,它不起作用。只想确认是否有可能?

9
纱线全局命令不起作用
我正在使用Yarn v0.16.1。如果我理解正确(根据文档),yarn global add <package>应等同于npm install -g <package>。但是,当我在docs(带有create-react-app)中运行示例时,该命令成功运行,但是create-react-app在命令行中不可用。这是输出: $ yarn global add create-react-app $ yarn global v0.16.1 [1/4] 🔍 Resolving packages... [2/4] 🚚 Fetching packages... [3/4] 🔗 Linking dependencies... [4/4] 📃 Building fresh packages... success Installed create-react-app@0.6.0 with binaries: - create-react-app ✨ Done in 3.22s. $ create-react-app --help -bash: create-react-app: …
111 javascript  npm  yarnpkg 

14
如何使用Fetch发布x-www-form-urlencoded请求?
我有一些要以表单编码形式发布到服务器的参数: { 'userName': 'test@gmail.com', 'password': 'Password!', 'grant_type': 'password' } 我正在这样发送我的请求(当前没有参数) var obj = { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', }, }; fetch('https://example.com/login', obj) .then(function(res) { // Do stuff with result }); 如何在请求中包含表单编码的参数?



8
Chrome,JavaScript,window.in在新标签页中打开
在chrome中,这会在新标签页中打开: <button onclick="window.open('newpage.html', '_blank')" /> 这会在新窗口中打开(但我也想在新标签页中打开它: <script language="javascript"> window.open('newpage.html', '_blank'); </script> 这可行吗?

3
立即函数调用语法
有一个JSLint选项,实际上是The Good Parts之一,它“ [需要]减少立即调用的次数”,这意味着构造 (function () { // ... })(); 而是需要写成 (function () { // ... }()); 我的问题是-谁能解释为什么第二种形式可能会更好?它更具弹性吗?容易出错?与第一种形式相比,它有什么优势? 自问了这个问题之后,我开始理解在功能值和功能值之间形成清晰的视觉区别的重要性。考虑一下立即调用的结果在赋值表达式的右侧的情况: var someVar = (function () { // ... }()); 尽管从语法上讲,最外面的括号是不必要的,但是括号开头预先表明了所分配的值不是函数本身,而是函数被调用的结果。 这类似于Crockford关于构造函数的大写的建议-旨在作为查看源代码的任何人的视觉提示。

3
如何拦截不同JS库发出的所有AJAX请求
我正在使用不同的JS库(AngularJS,OpenLayers等)构建一个Web应用程序,并且需要一种方法来拦截所有AJAX响应,以便在登录的用户会话过期(响应返回401 Unauthorized状态后)的情况下重定向他到登录页面。 我知道AngularJS提供interceptors了管理此类方案的方法,但是无法找到一种方法将这种注入OpenLayers请求中。因此,我选择了普通的JS方法。 在这里,我找到了这段代码... (function(open) { XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { this.addEventListener("readystatechange", function() { console.log(this.readyState); // this one I changed }, false); open.call(this, method, url, async, user, pass); }; })(XMLHttpRequest.prototype.open); ...经过改编,看起来像预期的一样(仅在上一个Google Chrome上进行了测试)。 当它修改XMLHTTPRequest的原型时,我想知道这可能导致多么危险,或者是否会产生严重的性能问题。顺便说一句,还有其他有效的选择吗? 更新:如何在请求发送之前拦截请求 上一个技巧可以。但是,如果在同一场景中您想在发送请求之前注入一些标头,该怎么办?请执行下列操作: (function(send) { XMLHttpRequest.prototype.send = function(data) { // in this case I'm injecting …

16
如何获取JavaScript中两个日期之间的区别?
我正在创建一个应用程序,可让您定义带有时间范围的事件。我想在用户选择或更改开始日期时自动填写结束日期。但是,我不太清楚如何获得两次之间的差异,然后如何使用该差异创建新的结束日期。
110 javascript  date 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.