Questions tagged «javascript»

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


10
在JavaScript的关联数组中使用整数作为键
当我创建一个新的JavaScript数组并使用整数作为键时,该数组中直到该整数的每个元素都将被创建为undefined。 例如: var test = new Array(); test[2300] = 'Some string'; console.log(test); 将输出2298个未定义的和一个“某些字符串”。 如何使JavaScript使用2300作为字符串而不是整数,或者如何避免实例化2299空索引?


13
比较ECMA6集是否相等
您如何比较两个JavaScript集?我尝试使用==,===但都返回false。 a = new Set([1,2,3]); b = new Set([1,3,2]); a == b; //=> false a === b; //=> false 这两个集合是等效的,因为根据定义,集合没有顺序(至少不是通常如此)。我查看了“在MDN上设置”文档,发现没有任何用处。有人知道怎么做吗?

3
上传前使用HTML5调整图片大小
我发现了一些不同的帖子,甚至关于stackoverflow的问题都回答了这个问题。我基本上正在实现与此职位相同的事情。 所以这是我的问题。上传照片时,我还需要提交表单的其余部分。这是我的html: <form id="uploadImageForm" enctype="multipart/form-data"> <input name="imagefile[]" type="file" id="takePictureField" accept="image/*" onchange="uploadPhotos(\'#{imageUploadUrl}\')" /> <input id="name" value="#{name}" /> ... a few more inputs ... </form> 以前,我不需要调整图像大小,因此我的javascript如下所示: window.uploadPhotos = function(url){ var data = new FormData($("form[id*='uploadImageForm']")[0]); $.ajax({ url: url, data: data, cache: false, contentType: false, processData: false, type: 'POST', success: function(data){ ... handle error... …
102 javascript  html  canvas 


6
Mocha API测试:收到“ TypeError:app.address不是函数”
我的问题 我已经编写了一个非常简单的CRUD API,并且最近开始使用编写了一些测试代码chai,chai-http但是使用进行测试时遇到了问题$ mocha。 当我运行测试时,在外壳上出现以下错误: TypeError: app.address is not a function 我的密码 这是我的一项测试(/tests/server-test.js)的示例: var chai = require('chai'); var mongoose = require('mongoose'); var chaiHttp = require('chai-http'); var server = require('../server/app'); // my express app var should = chai.should(); var testUtils = require('./test-utils'); chai.use(chaiHttp); describe('API Tests', function() { before(function() { mongoose.createConnection('mongodb://localhost/bot-test', myOptionsObj); …

6
带有eslint-config-airbnb扩展名为'.js'的文件中不允许JSX
我已经安装了eslint-config-airbnb,它应该为React预配置ESLINT: 我们的默认导出包含我们所有的ESLint规则,包括ECMAScript 6+和React。它需要eslint,eslint-plugin-import,eslint-plugin-react和eslint-plugin-jsx-a11y。 我.eslintrc扩展了它的配置: { "extends": "eslint-config-airbnb", "env": { "browser": true, "node": true, "mocha": true }, "rules": { "new-cap": [2, { "capIsNewExceptions": ["List", "Map", "Set"] }], "react/no-multi-comp": 0, "import/default": 0, "import/no-duplicates": 0, "import/named": 0, "import/namespace": 0, "import/no-unresolved": 0, "import/no-named-as-default": 2, "comma-dangle": 0, // not sure why airbnb turned this on. …

6
onclick()和onblur()排序问题
我有一个输入字段,显示了一个自定义下拉菜单。我想要以下功能: 当用户单击输入字段之外的任何位置时,应删除菜单。 更具体地说,如果用户单击菜单内的div,则应删除菜单,并应根据单击的div进行特殊处理。 这是我的实现: 输入字段具有一个onblur()事件,innerHTML只要用户在输入字段之外单击,便会删除菜单(通过将其父菜单设置为空字符串)。菜单内的div也具有onclick()执行特殊处理的事件。 问题在于,onclick()单击菜单时事件永远不会触发,因为输入字段onblur()会首先触发并删除菜单,包括onclick()s! 我通过将菜单div onclick()划分为onmousedown()和onmouseup()事件并在鼠标按下时设置了全局标记(在鼠标按下时清除)来解决了该问题,类似于此答案中的建议。因为onmousedown()在之前触发onblur(),所以onblur()如果单击菜单div之一将在该标志中设置,但是如果单击屏幕上的其他位置则不会设置该标志。如果单击onblur()了菜单,那么我将立即返回而不删除菜单,然后等待onclick()触发,此时我可以安全地删除菜单了。 有没有更优雅的解决方案? 代码看起来像这样: <div class="menu" onmousedown="setFlag()" onmouseup="doProcessing()">...</div> <input id="input" onblur="removeMenu()" ... /> var mouseflag; function setFlag() { mouseflag = true; } function removeMenu() { if (!mouseflag) { document.getElementById('menu').innerHTML = ''; } } function doProcessing(id, name) { mouseflag = false; ... }

22
缩短字符串而无需在JavaScript中切词
我对JavaScript中的字符串操作不太满意,我想知道如何在不删节的情况下缩短字符串。我知道如何使用子字符串,但不知道indexOf或其他任何真正好的方法。 说我有以下字符串: text = "this is a long string I cant display" 我想将其缩减为10个字符,但是如果它不以空格结尾,请完成该单词。我不希望字符串变量看起来像这样: “这是我不能忍受的长字符串” 我希望它在出现空格之前将单词结束。

14
如何检查是否存在动态附加的事件侦听器?
这是我的问题:是否可以通过某种方式检查动态附加事件侦听器的存在?或者如何检查DOM中“ onclick”(?)属性的状态?我已经像Stack Overflow一样在互联网上搜索解决方案,但是没有运气。这是我的html: <a id="link1" onclick="linkclick(event)"> link 1 </a> <a id="link2"> link 2 </a> <!-- without inline onclick handler --> 然后在Javascript中,将动态创建的事件侦听器附加到第二个链接: document.getElementById('link2').addEventListener('click', linkclick, false); 该代码运行良好,但是我所有检测该附加侦听器的尝试均失败: // test for #link2 - dynamically created eventlistener alert(elem.onclick); // null alert(elem.hasAttribute('onclick')); // false alert(elem.click); // function click(){[native code]} // btw, what's this? jsFiddle在这里。如果单击“为2添加onclick”,然后单击“ [链接2]”,则事件触发良好,但“测试链接2”始终报告为false。有人可以帮忙吗?

5
在TypeScript中声明一个数组
我在Typescript中声明或使用布尔数组时遇到麻烦,不确定哪是错误的。我得到一个undefined错误。我应该使用JavaScript语法还是声明一个新的Array对象? 以下哪一项是创建数组的正确方法? private columns = boolean[]; private columns = []; private columns = new Array<boolean>(); 如何将所有值初始化为false? 我将如何访问这些值,是否可以像columns[i] = true;.. 那样访问它们?

1
Angular中的ngDefaultControl是什么?
不,这不是重复的问题。您会看到,SO和Github中存在大量的问题,这些问题规定我将此指令添加到具有[(ngModel)]指令且未包含在表单中的标记中。如果不添加,则会出现错误: ERROR Error: No value accessor for form control with unspecified name attribute 好的,如果我将此属性放在那里,错误就会消失。可是等等!没人知道它在做什么!Angular的文档根本没有提到它。当我知道不需要值访问器时,为什么需要它?此属性如何与值访问者连接?该指令有什么作用?什么是价值继承人,我该如何使用它? 为什么每个人都继续做自己都不了解的事情?只需添加此行代码即可,谢谢,这不是编写好的程序的方法。 然后。我读了不是一个而是2个有关的角形式的巨大引导和有关部分ngModel: https://angular.io/guide/forms https://angular.io/guide/reactive-forms https://angular.io/guide/template-syntax#ngModel 你知道吗?没有一个提及价值访问者或ngDefaultControl。它在哪里?

4
Angular 2管道将JSON对象转换为漂亮打印的JSON
尝试编写一个Angular 2管道,该管道将使用JSON对象字符串并将其漂亮打印/格式化后返回给用户显示。 例如,将采取以下措施: {“ id”:1,“ number”:“ K3483483344”,“ state”:“ CA”,“ active”:true} 并以HTML显示时返回如下所示的内容: 所以在我看来,我可以这样写: <td> {{ record.jsonData | prettyprint }} </td>

7
反应JSX文件给出错误“无法读取未定义的属性'createElement'”
我有一个要运行的文件test_stuff.js npm test 它看起来像这样: import { assert } from 'assert'; import { MyProvider } from '../src/index'; import { React } from 'react'; const myProvider = ( <MyProvider> </MyProvider> ); describe('Array', function() { describe('#indexOf()', function() { it('should return -1 when the value is not present', function() { assert.equal(-1, [1,2,3].indexOf(4)); }); }); …

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.