Questions tagged «javascript»

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


12
是否有与<noscript>相反的HTML?
HTML中是否有一个标记,仅在启用JavaScript的情况下才会显示其内容?我知道&lt;noscript&gt;工作方式相反,当JavaScript关闭时会显示其HTML内容。但是,我只想在有JavaScript的情况下在网站上显示表单,告诉他们为什么没有表单就不能使用表单。 我知道如何执行此操作的唯一方法是使用document.write();script标记中的方法,对于大量HTML来说似乎有些混乱。

6
?:,?有什么区别?和?=在正则表达式中?
我搜索了这些表达式的含义,但无法理解它们之间的确切区别。他们是这样说的: ?: 匹配表达式,但不捕获它。 ?= 匹配后缀,但将其从捕获中排除。 ?! 如果没有后缀,则匹配。 我尝试在简单的RegEx中使用它们,并获得了相似的结果。示例:以下3个表达式给出的结果非常相似。 [a-zA-Z0-9._-]+@[a-zA-Z0-9-]+(?!\.[a-zA-Z0-9]+)* [a-zA-Z0-9._-]+@[a-zA-Z0-9-]+(?=\.[a-zA-Z0-9]+)* [a-zA-Z0-9._-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9]+)*
106 javascript  regex 

10
如何观察阵列变化?
在Javascript中,当使用基于推,弹出,移位或基于索引的分配修改数组时,是否有一种通知方式?我想要可以触发事件的东西。 我知道watch()SpiderMonkey 的功能,但是只有在将整个变量设置为其他变量时才能使用。

21
scrollIntoView滚动太远
我有一个页面,其中从数据库中动态生成一个滚动条,其中包含带有div的表行。每个表格行都像一个链接,就像您在视频播放器旁边的YouTube播放列表中看到的一样。 当用户访问页面时,他们所在的选项应该位于滚动div的顶部。此功能正在运行。问题是它走得太远了。就像它们启用的选项一样,大约过高10px。因此,将访问该页面,该URL用于标识选择了哪个选项,然后将该选项滚动到滚动div的顶部。注意:这不是窗口的滚动条,它是带有滚动条的div。 我正在使用此代码使它将选定的选项移到div的顶部: var pathArray = window.location.pathname.split( '/' ); var el = document.getElementById(pathArray[5]); el.scrollIntoView(true); 它将其移动到div的顶部,但距离太远约10个像素。有人知道该如何解决吗?
106 javascript  dom  scroll 

4
获取当前剪贴板内容?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 我想知道一种方法,可让我的脚本检测剪贴板的内容,并在打开页面时将其粘贴到文本字段中,而无需用户输入。如何做呢?

12
删除数组中所有对象的属性
我想bad从数组中的每个对象中删除该属性。有没有比使用for循环并将其从每个对象中删除更好的方法了? var array = [{"bad": "something", "good":"something"},{"bad":"something", "good":"something"},...]; for (var i = 0, len = array.length; i &lt; len; i++) { delete array[i].bad; } 似乎应该有一种使用方式prototype,或其他方式。我不知道。有想法吗?

10
提取API请求超时?
我有一个fetch-api POST要求: fetch(url, { method: 'POST', body: formData, credentials: 'include' }) 我想知道默认的超时时间是多少?以及如何将其设置为3秒或不确定的秒之类的特定值?

5
使React useEffect挂钩不在初始渲染上运行
根据文档: componentDidUpdate()更新发生后立即调用。初始渲染不调用此方法。 我们可以使用新的useEffect()钩子来模拟componentDidUpdate(),但似乎useEffect()在每次渲染后都被运行,即使是第一次也是如此。如何使它不在初始渲染上运行? 如您在下面的示例中看到的那样,它componentDidUpdateFunction是在初始渲染期间打印的,但componentDidUpdateClass在初始渲染期间没有打印的。 function ComponentDidUpdateFunction() { const [count, setCount] = React.useState(0); React.useEffect(() =&gt; { console.log("componentDidUpdateFunction"); }); return ( &lt;div&gt; &lt;p&gt;componentDidUpdateFunction: {count} times&lt;/p&gt; &lt;button onClick={() =&gt; { setCount(count + 1); }} &gt; Click Me &lt;/button&gt; &lt;/div&gt; ); } class ComponentDidUpdateClass extends React.Component { constructor(props) { super(props); this.state = { count: …

9
使用Java脚本更改CSS值
使用javascript设置内联CSS值很容易。如果我想更改宽度,并且我有这样的html: &lt;div style="width: 10px"&gt;&lt;/div&gt; 我需要做的就是: document.getElementById('id').style.width = value; 它将更改内联样式表的值。通常这不是问题,因为内联样式会覆盖样式表。例: &lt;style&gt; #tId { width: 50%; } &lt;/style&gt; &lt;div id="tId"&gt;&lt;/div&gt; 使用此Javascript: document.getElementById('tId').style.width = "30%"; 我得到以下内容: &lt;style&gt; #tId { width: 50%; } &lt;/style&gt; &lt;div id="tId" style="width: 30%";&gt;&lt;/div&gt; 这是一个问题,因为在以下情况下,我不仅不希望更改内联值:在设置宽度之前查找宽度: &lt;div id="tId"&gt;&lt;/div&gt; 返回的值为Null,因此,如果我的Javascript需要知道某种东西的宽度以执行一些逻辑(我将宽度增加1%,而不是特定值),则当我期望字符串“ 50%”时返回Null ”确实没有用。 所以我的问题是:我的CSS样式中的值不是内联的,如何获得这些值?给定ID,如何修改样式而不是内联值?
105 javascript  html  css  ajax  dom 

3
在JavaScript switch语句中进行严格比较是否安全?
我有一个可以为boolean false或整数(包括0)的变量。我想把它放在switch语句中,例如: switch(my_var){ case 0: // Do something break; case 1: // Do something else break; case false: // Some other code } 在Google Chrome浏览器中的测试中,它似乎可以完美运行,但是我有点紧张,因为我担心在某些浏览器中(如果my_var是false)它可能会执行以来的第一种情况0 == false。 我只是想知道JavaScript中是否有官方说switch语句将使用严格的比较,例如0 !== false,但是我自己找不到任何东西,而且我不确定这是否可以在不同的JavaScript引擎中很好地工作。有人知道switch语句所做的比较是否一定严格吗?

2
JavaScript数组的大O
JavaScript中的数组很容易通过添加和删除项来进行修改。它在某种程度上掩盖了一个事实,即大多数语言数组都是固定大小的,并且需要复杂的操作来调整大小。看起来,JavaScript使编写性能不佳的数组代码变得容易。这导致了一个问题: 对于数组性能,我可以从JavaScript实现中获得什么样的性能(就O时间复杂度而言)? 我假设所有合理的JavaScript实现最多都具有以下大O。 存取权-O(1) 追加-O(n) 前置-O(n) 插入-O(n) 删除-O(n) 交换-O(1) JavaScript使您可以使用以下命令将数组预填充为特定大小 new Array(length)语法。(奖金问题:是以O(1)或O(n)的方式创建数组)这更像是常规数组,并且如果用作预大小数组,则可以允许添加O(1)。如果添加了循环缓冲区逻辑,则可以实现O(1)前置。如果使用动态扩展数组,则O(log n)将是这两种情况的平均情况。 我可以期望某些事情比我的假设有更好的性能吗?我不希望任何规范概述任何内容,但实际上,可能是所有主要实现都在幕后使用了优化的数组。是否在工作中动态扩展数组或其他一些提高性能的算法? 聚苯乙烯 我想知道这是因为我正在研究一些排序算法,当描述它们的整体大O时,大多数似乎都假定追加和删除是O(1)运算。

4
为脱机Web应用程序存储图像数据(客户端存储数据库)
我有一个使用appcaching的脱机Web应用程序。我需要提供大约10MB-20MB的数据(客户端),该数据主要由PNG图像文件组成。操作如下: Web应用程序下载并安装在appcache中(使用清单) 来自服务器PNG数据文件的Web应用请求(如何?-请参见下面的替代方法) 有时,Web应用程序会与服务器重新同步,并对PNG数据库进行少量的部分更新/删除/添加 仅供参考:服务器是JSON REST服务器,可以将文件放在wwwroot中以进行提取 这是我目前对处理二进制Blob存储的基于客户端的“数据库”的分析 在底部查看更新 AppCache(通过清单添加所有PNG,然后按需更新) 缺点:PNG数据库项目的任何更改都意味着完整下载清单中的所有项目(真的是坏消息!) 网络存储 CON:专为JSON存储而设计 CON:只能通过base64编码存储Blob(由于解码成本高,可能是致命缺陷) CON:webStorage的5MB硬限制http://htmlui.com/blog/2011-08-23-5-obscure-facts-about-html5-localstorage.html PhoneGap和SQLLite 缺点:赞助商将其拒绝为需要认证的本地应用 ZIP文件 服务器创建一个zip文件,将其放在wwwroot中,并通知客户端 用户必须手动解压缩(至少我是这样)并将其保存到客户端文件系统 Web应用程序使用FileSystem API引用文件 缺点:ZIP可能太大(zip64?),创建时间很长 缺点:不确定FileSystem API是否可以始终从沙箱中读取(我认为是) USB或SD卡(回到石器时代。...) 用户将在离线之前位于服务器本地 这样我们就可以让他插入SD卡,让服务器用PNG文件填充 然后用户将其插入笔记本电脑,平板电脑 Web应用程序将使用FileSystem API读取文件 缺点:不确定FileSystem API是否可以始终从沙箱中读取(我认为是) WebSQL 缺点:w3c放弃了它(非常糟糕) 我可能会考虑使用IndexedDB和WebSQL作为后备的Javascript包装器 文件系统API Chrome支持读/写Blob 缺点:不清楚IE和FireFox(IE10,具有非标准msSave) caniuse.com报告了IOS和Android支持(但同样,这仅仅是JSON的读/写,还是它包含用于编写的完整blob API? 缺点:FireFox员工不喜欢FileSystem API,也不清楚他们是否支持保存Blob:https://hacks.mozilla.org/2012/07/why-no-filesystem-api-in-firefox/ PRO:很多比IndexedDB的更快斑点根据jsperf http://jsperf.com/indexeddb-vs-localstorage/15(第2页) 索引数据库 IE10和FireFox的良好支持(保存,读取blob) 比文件系统更好的速度和更轻松的管理(删除,更新) 专业人士:请参阅速度测试:http : //jsperf.com/indexeddb-vs-localstorage/15 …

2
sessionStorage和localStorage的范围
我阅读了有关sessionStorage和localStorage的一些文档,但是我不明白范围是什么:域,特定页面? 例如,如果我有以下页面: http://example.com/products.aspx?productID=1 http://example.com/products.aspx?productID=2 http://example.com/services.aspx?serviceID=3 并且如果在上述每个页面上运行(idvalue是查询字符串中的值): localStorage.setItem('ID',idvalue); 我最终会存储3个不同的值,还是两个值会互相覆盖?

12
在两个元素之间画一条连接线
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 3个月前关闭。 改善这个问题 如何在两个或多个元素之间画线以连接它们?HTML / CSS / JavaScript / SVG / Canvas的任何组合都可以。 如果您的答案支持以下任何一项,请提及: 可拖动元素 可拖动/可编辑的连接 避免元素重叠 该问题已更新,以巩固其众多变体。

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.