Tag: JavaScript

为什么我的JavaScript regex.test()给交替结果

可能重复: Javascript的正则expression式返回true ..然后false ..然后true ..等 var r = /\d/g; var a = r.test("1"); // will be true var b = r.test("1"); // will be false console.log(a == b); // will be false 请向我解释为什么r.test(“1”)的结果与每个呼叫交替出现? 我能够通过删除g修饰符来解决我遇到的问题。 不过,我仍然想明白为什么会发生这种情况。

处理循环variables的重复声明警告

考虑下面的代码: for (var i=0; i<100; i++) { // your code here } // some other code here for (var i=0; i<500; i++) { // custom code here } 任何体面的lint工具(jslint,jshint或内置IDE)都会告诉警告 – duplicate declaration of variable i 。 这可以通过使用另一个名称( k , j )的variables或将声明移动到顶部来解决: var i; // iterator for (i=0; i<100; i++) {} for (i=0; i<500; i++) {} […]

如何为具有列表/详细信息视图和分页的应用程序selectRedux状态形状?

想象一下,我的数据库中有很多条目(比如用户)。 我也有两条路线,一条是列表,另一条是细节(在哪里可以编辑条目)。 现在我正在努力如何处理数据结构。 我正在考虑两种方法,两种方法的组合。 共享数据集 我导航到/list ,我所有的用户都是从api下载的,存储在redux存储中,在关键users ,我还添加了一些users_offset和users_limit来只呈现列表的一部分 然后我导航到/detail/<id> ,并存储与<id>作为val …这意味着我将能够得到我的用户数据像这样users.find(res => res.id === currently_selected_user) 因为我正在处理一个数据集和指向它的详细信息,所以更新也会很好,也很容易 添加一个新的用户也很容易,再次只是与相同的用户列表 现在我使用这种方法的问题是,当用户列表变得很大(比如数百万)时,下载可能需要一段时间。 而且,当我直接导航到/detail/<id> ,我还没有下载所有的用户,所以要获取我需要的数据,我必须先下载整个数据。 数百万用户只需编辑一个。 分离的数据集 我导航到/list ,而不是从api下载所有的用户,我只下载其中的几个,这取决于我的users_per_page和users_current_page将被设置为,我可能将数据存储为users_currently_visible 然后导航到/detail/<id> ,将/detail/<id>存储为users_currently_visible作为val …,而不是通过users_currently_visible进行search,只需从api下载用户的数据。 在更新,我不会以任何方式更新users_currently_visible 我也不会加上 我所看到的可能的问题是我必须在访问/list再次从api下载数据,因为它可能与数据库中的数据不同步,我也可能不必要地下载用户数据,因为他们可能已经在我的users_currently_visible 某种frankenstein-y shenanigans 我详细说明,我在分离的数据集中做同样的事情,但不是直接从api下载用户的数据,我首先检查: 我有任何users_currently_visible 如果是这样,有一个用户与我之间的身份证? 如果两者都是真实的,那么我将其用作我的用户数据,否则我会进行api调用 同样发生在更新,我检查如果我的用户存在users_currently_visible如果是这样,我也更新该列表,如果不是我什么都不做 这可能会起作用,但并不真的觉得这是正确的方式。 我也可能还需要下载访问/list users_currently_visible新鲜/list ,因为我可能已经添加了一个新的.. 是否有任何粉丝喜欢这样做的方式?我敢肯定,每个用户都必须遇到同样的事情。 谢谢!

async =“html”中<script>标签的“asynchronous”属性,这是什么意思?

HTML中的<script>标签的async="async"属性,这是什么意思? <script async="async" src="…."></script> 在这里可以看到使用例如

蓝鸟,承诺,然后()

我一直只使用蓝鸟几天,但我想要去所有我的旧代码,并promisify它:) 我的问题是我还没有完全掌握then()命令的stream程。 考虑这两个块: 一个 methodThatReturnsAPromise().then(task2).then(task3); 乙 var promise = methodThatReturnsAPromise(); promise.then(task2) promise.then(task3); 在场景中, task3会得到task2的结果吗? 在B他们都得到了第一个承诺的结果? 第二个与蓝鸟运行Promise.all有什么不同? 这些A / B / Promise.all方法在使用catch方法时有什么不同(我把它放在哪里)。 对不起,这是一大堆问题。

将ES6 Iterable转换为数组

假设你有一个类似于数组的Javascript ES6 Iterable,你事先知道它的长度是有限的,那么把它转换成一个Javascript数组的最好方法是什么? 这样做的原因是许多js库(如下划线和lodash)仅支持数组,所以如果您希望在Iterable上使用它们的任何函数,则必须先将其转换为Array。 在python中,你可以使用list()函数。 ES6中有相同的东西吗?

在css / js中自动换行

我正在寻找一种跨浏览器的方式来包装文本的长部分,在预定宽度的div内没有空格(例如长URL)。 以下是我在网上find的一些解决scheme,以及为什么他们不适合我: 溢出:隐藏/自动/滚动 – 我需要整个文字是可见的而不滚动。 div可以垂直增长,但不能水平增长。 注射&害羞; 通过js /服务器端 – &害羞的string ; 现在被FF3支持,但是用一个&shy复制和粘贴一个URL; 在中间不会在Safari中工作。 此外,据我所知,没有一个简单的测量文本宽度的方法来找出最好的string偏移量来添加这些字符(有一个方法,见下一个项目)。 另一个问题是,放大Firefox和Opera可以很容易地打破这一点。 将文本转储到一个隐藏的元素并测量与上面的项目相关的offsetWidth ,它需要在string中添加额外的字符。 另外,测量长文本所需的中断量可能很容易需要数千个昂贵的DOM插入(每个子串长度一个),这可以有效地冻结站点。 使用等宽字体 – 再次,缩放可能会弄乱宽度计算,并且文本不能自由地被称呼。 看起来很有希望,但不是那样的东西: word-wrap:break-word – 现在是CSS3工作草案的一部分 ,但是Firefox,Opera或Safari都不支持它。 这将是理想的解决scheme,如果它适用于所有浏览器今天:( 通过js /服务器端将<wbr>标签注入到string中 – 复制和粘贴URL在所有浏览器中都能正常工作,但是我仍然没有一个很好的方法来测量放置中断的位置。 而且,这个标签使HTML无效。 在每个字符之后添加中断 – 比数千个DOM插入更好,但仍然不理想(向文档添加DOM元素会消耗内存并减慢select器查询的速度)。 有没有人有更多的想法如何解决这个问题?

使用Firefox,我如何监视所有被触发的JavaScript事件?

我正在尝试debugging大量使用JavaScript事件的网页,因此我需要监视所有正在触发的JavaScript事件。 大部分事件都是使用jQuery绑定的。 因此,如果只有专门监测这些事件的方法,这将特别有用。

如何使谷歌地图API自动完成地址字段?

使用谷歌地图API和JQuery我想有一个地址字段,input时会自动完成在那里input的地址。 这是如何实现的?

在JSfiddle中添加图像

我想创build一个小提琴,我必须添加一个图像..(作为一个背景图像的div) 我试图使用左侧的添加资源,但它不工作,我也试图给我的文件夹结构中的图像的完整path,但这也没有工作.. 有人知道该怎么做吗?