草庐IT

应不应该

全部标签

javascript - 我应该如何在 AngularJS 中制作可配置模块

我一直在修补AngularJS,我已经建立了一小部分指令和服务,我想将它们打包到一个JS文件中,以便我可以在任何地方使用它们。我有一些特定于网站的设置,我的模块需要这些设置来进行API调用和诸如此类的事情。我只是想知道制作可配置模块的Angular方式是什么。显然我不想为每个网站修改我的可重用JS文件,因为那样会破坏拥有它的目的。鉴于每个网站的值都将保持不变,将它们作为参数传递给每个函数调用似乎很麻烦,我宁愿尽可能远离全局变量。我搜索了很多问题来寻找我想要的答案,到目前为止我发现的最接近的模式是让我的可重用模块依赖于一个名为“settings”之类的未包含的模块,然后定义它页面JS文件

javascript - 我应该使用哪个 JavaScript 库进行客户端断字?

我想通过JavaScript在我网站上的一些大文本上实现客户端断字。(我知道CSS3断字,并且会在可用时使用它,但它通常不可用。)我一直在使用Hyphenator.js,它运行良好,但非常大(我的优化编译版本仅使用英语就达到106KB)并且非常慢。它又大又慢,我正在考虑完全放弃断字。无论如何,这只是一种奢侈。但最近我遇到了一个似乎是替代方案的东西:Hypher.令我困惑的是Hypher如何让我如此变小并做同样的事情。我想知道是否有人可以解释这一点。Hypher是否同样有效?有什么理由改用Hyphenator.js吗?Hypher的自述文件有指向Hyphenator.js的链接atthe

javascript - 遍历数组时应该使用 for-of 还是 forEach?

这个问题在这里已经有了答案:WhyshouldforEachbepreferredoverregulariterators?(6个答案)Loops-forEach,for,for....of,for...in(2个答案)LoopoveranarrayinJavaScript(40个答案)关闭4年前。此外,这是风格问题还是功能问题?这是偏好问题还是更好?我正在尝试理解for-of的目的。通常我用,letiterable=[10,20,30];iterable.forEach((val)=>{console.log(val);})但我看到这个新语法可用。letiterable=[10,20

javascript - 什么时候应该在 JavaScript 中使用 MVC 框架?

我知道这个主题可能会变得主观,因此它与我正在处理的特定Web应用程序无关。对于JavaScript,我没有使用过像Backbone.js这样的MVC库但我看到了分离逻辑和View的优势。另一方面,可能不值得花时间学习框架并调整应用程序以使用它。此外,我猜想,在JavaScript中处理所有View会使SEO变得更加困难。那么,鉴于Web应用程序的概念,我应该如何决定使用Backbone.js或类似框架是否有意义?决定取决于什么?欢迎任何使问题更客观的帮助。 最佳答案 有许多客户端javascriptMVC(或MV*)框架。大多数人似

javascript - 我什么时候应该使用 KnockoutJS 组件和模板?

因此,我试图用KnockoutJS3.2弄脏我的手。我已阅读文档,并且已在当前项目中成功实现了组件。我不使用AMD,所以我只是使用脚本元素来保存View。我的问题是:如果我不使用异步加载功能,使用组件而不是模板有什么真正的实际区别吗? 最佳答案 它们并不完全不同。组件由模板(html)和数据/逻辑(View模型,即JavaScript)组成。当你有一个模块化View时,你想附加一个View模型,你可以使用组件。这是更多讨论组件的链接:http://www.knockmeout.net/2014/06/knockout-3-2-pre

javascript - 什么时候应该使用 .innerHTML 以及什么时候在 JavaScript 中使用 document.write

是否有一般规则,何时应使用document.write更改网站内容,何时应使用.innerHTML?到目前为止,我的规则是:1)添加新内容时使用document.write2)更改现有内容时使用.innerHTML但我很困惑,因为有人告诉我,一方面.innerHTML是一个奇怪的Microsoft标准,但另一方面我读到了document.write在XHTML中是不允许的。我应该使用哪些结构来使用JavaScript操作我的源代码? 最佳答案 innerHTML可用于通过字符串修改来更改DOM的内容。因此,如果您想在所选元素的末尾添

javascript - 我应该总是给我的函数一个返回值吗?

我编写JavaScript代码并尝试使用它的函数式语言特性。在其他函数式语言中(甚至在Ruby中),如果我没有显式设置函数的返回值,它将返回最后计算的表达式的值。JavaScript不遵循这种模式。(准确地说,JavaScript也始终返回一个值。如果未设置任何值,则为undefined。)我的问题如下:我有一个不需要(也不需要)返回值的函数。在函数式编程上下文中使用没有显式返回值的函数是否有意义?或者如果我发现自己在这种情况下是否在某处失败了?例如,我有以下功能。它会定期检查位置哈希是否已更改,如果已更改,则调用给定的函数。LIB_hashManager=function(f,con

javascript - 是否应该避免编写 Javascript 以支持 GWT/WebSharper 或其他一些抽象?

我很好奇对“编译成javascript的东西”的看法是什么,例如GWT、Script#和WebSharper等。这些似乎是相当小众的组件,旨在让人们无需编写javascript即可编写javascript。就我个人而言,我很乐意编写javascript(使用JQuery/Prototype/ExtJS或其他类似的库)并将GWT之类的东西视为不必要的抽象,它们最终可能会限制开发人员需要完成的工作或最好的情况下提供一个非常冗长的解决方法。在某些情况下,您最终还是会编写javascript,例如JSNI。更糟糕的是,如果您不知道幕后发生的事情,您将面临意外后果的风险。例如。您如何知道GWT正

javascript - svg viewbox 不应该调整文本 fontSize 的大小?

我将svg与viewBox一起使用以适合容器,它工作正常,当我调整容器大小时,svg圆圈和文本正在调整大小并适合容器但我不想在调整大小时调整文本fontSize容器。我搜索了很多但没有找到任何有值(value)的建议。我需要调整div和svg圆圈的大小,但文本不应调整字体大小,而且文本应与圆圈一起移动。如有任何建议,我们将不胜感激。以下是我在我的应用程序中使用的SVGCircle这是Demo注意:调整jsFiddle的大小 最佳答案 将View框移出根svg标签并移入嵌套的svg标签。将文字放在嵌套的svg标签外面,viewbox不

javascript - 使用 HTTP2/SPDY 时,我应该缩小和连接 javascript 和 CSS 吗?

鉴于HTTP2(和SPDY)中连接重用和多路复用的优势以及gzip压缩的可用性,在构建过程中添加缩小和连接步骤的努力是否合理? 最佳答案 根据Chrome团队的Surma的说法,在H2上你可以而且实际上应该停止捆绑,因为它没有用并且允许更有效的浏览器缓存:https://www.youtube.com/watch?v=w--PU4HO9SM(时间1:10)我认为缩小或混淆仍然是可取的,这取决于您的需要。 关于javascript-使用HTTP2/SPDY时,我应该缩小和连接javascr