Tag: JavaScript

jQuery的SVG与拉斐尔

我正在使用SVG和JavaScript / jQuery交互式界面,我试图在Raphael和jQuery SVG之间做出决定。 我想知道 两者之间的折衷是什么? 发展势头似乎在哪里。 我不需要Raphael的VML / IE支持,也不需要jQuery SVG的绘图function。 我主要感兴趣的是在SVGcanvas上创build,animation和操作单个项目的最优雅的方式。

在IE8中console.log发生了什么?

根据这个post,它是在testing版,但它不是在发布?

如何检查可见DOM中是否存在元素?

如何在不使用getElementById方法的情况下testing存在的元素? 我已经安装了一个现场演示供参考。 我也将在这里打印代码: <!DOCTYPE html> <html> <head> <script> var getRandomID = function (size) { var str = "", i = 0, chars = "0123456789abcdefghijklmnopqurstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ"; while (i < size) { str += chars.substr(Math.floor(Math.random() * 62), 1); i++; } return str; }, isNull = function (element) { var randomID = getRandomID(12), savedID = (element.id)? element.id : null; […]

当Node.js仍然依赖于内部的线程时,Node.js如何更快地运行?

我只是看了下面的video: 介绍Node.js ,仍然不明白你如何获得速度的好处。 主要的一点是Ryan Dahl(Node.js的创build者)说Node.js是基于事件循环而不是基于线程的。 线程是昂贵的,只能留给并发编程专家来利用。 后来,他显示了Node.js的架构栈,它有一个底层的C实现,在内部有自己的线程池。 所以显然,Node.js开发者永远不会开始自己的线程或直接使用线程池…他们使用asynchronouscallback。 我理解这一点。 我不明白的一点是,Node.js仍然在使用线程……它只是隐藏了实现,所以如果50个人请求50个文件(当前不在内存中),那么这个速度如何更快,而不是50个线程? 唯一的区别是,由于它在内部进行pipe理,Node.js开发人员不必编写线程细节,但在其下面仍然使用线程来处理IO(阻止)文件请求。 所以你不是真的只是一个问题(线程),并隐藏它,而这个问题仍然存在:主要是multithreading,上下文切换,死锁…等? 必须有一些细节,我仍然不明白在这里。

在数组的开始部署javascript元素

我有一个对象数组,我想在数组的开始处推一个元素。 我有这个: var TheArray = TheObjects.Array; TheArray.push(TheNewObject); 它最后join了TheNewObject。 我是否需要创build一个新的数组,将TheNewObject添加到它,然后循环通过TheArray并将每个元素添加到数组?

更改路线不会滚动到新页面的顶部

我发现了一些不受欢迎的,至less对我来说,路线改变时的行为。 在教程http://angular.github.io/angular-phonecat/step-11/app/#/phones的第11步中,您可以看到电话列表。 如果您滚动到底部并点击最新的一个,您可以看到滚动不在顶部,而是在中间。 我也在我的一个应用程序中发现了这一点,我想知道如何才能让它滚动到顶部。 我可以做的手工,但我认为应该有其他优雅的方式来做到这一点,我不知道。 那么,当路线改变时,是否有一种优雅的方式可以滚动到顶部?

AngularJS:清除$ watch

我在我的AngularJS应用程序中有一个监视function。 $scope.$watch('quartzCrystal', function () { … } 但是,在一些条件(在我的例子中,更改我的单页应用程序中的页面 )之后,我想停止该手表(就像清除超时一样)。 我怎样才能做到这一点?

HTML5中的polyfills的含义是什么?

HTML5中的polyfills的含义是什么? 我在很多网站上看到了关于HTML5的这个词,例如HTML5-Cross-Browser-Polyfills。 所以在这里,我们正在收集所有的垫片,回退和polyfill,以便将HTML5function植入本来不支持它们的浏览器中。 我其实不明白polyfills是什么意思。 这是一个新的HTML5技术或JavaScript库吗? 在HTML5之前我从来没有听说过这个词。 垫片,后备和polyfills有什么区别?

只比较date部分,不用比较JavaScript中的时间

下面的代码有什么问题? 也许只是比较date而不是时间会更简单。 我也不知道如何做到这一点,我搜查了,但我找不到确切的问题。 顺便说一句,当我在一个警报显示两个date,他们performance出完全一样的。 我的代码: window.addEvent('domready', function() { var now = new Date(); var input = $('datum').getValue(); var dateArray = input.split('/'); var userMonth = parseInt(dateArray[1])-1; var userDate = new Date(); userDate.setFullYear(dateArray[2], userMonth, dateArray[0], now.getHours(), now.getMinutes(), now.getSeconds(), now.getMilliseconds()); if (userDate > now) { alert(now + '\n' + userDate); } }); 有比较简单的方法来比较date和不包括时间?

JSON.stringify,避免TypeError:将圆形结构转换为JSON

我有一个大对象,我想转换为JSON并发送。 不过它有圆形结构。 我想扔什么循环引用存在,并发送任何可以被串行化。 我怎么做? 谢谢。 var obj = { a: "foo", b: obj } 我想把obj变成: {"a":"foo"}