草庐IT

require_and_profile

全部标签

Javascript 性能 : How come looping through an array and checking every value is faster than indexOf, 搜索和匹配?

这对我来说是一个巨大的惊喜,我想了解这个结果。我做了一个testinjsperf这基本上应该采用一个字符串(这是我想检查的URL的一部分)并检查是否存在4个项目(实际上存在于字符串中)。它以5种方式检查:简单的indexOf;分割字符串,然后是indexOf;正则表达式搜索;正则表达式匹配;拆分字符串,遍历项目数组,然后检查是否有任何项目匹配它应该匹配的东西令我大吃一惊的是,5号是Chrome21中最快的。这是我无法解释的。在Firefox14中,普通的indexOf是最快的,我相信这一点。 最佳答案 我也很惊讶,但Chrome使用

javascript - Backbone : In a view whats the difference between el: and tagName:

我正在努力思考这个概念。你能帮我解释一下吗?也许可以提供一个简单的例子来说明el:属性和tagName:属性之间的区别?在一些示例中,不同的View有时使用el:,而其他View使用tagName:。我特别想弄乱我自己对这个example的实现 最佳答案 区别在于:el应该用于保留对表示整个View的实际DOM节点的引用。这意味着您可以使用jQuery或w/e轻松地对其执行操作。$(this.el).hide()或$(this.el).html('我现在是一个Jquery对象');TagName只是一个字符串,用于确定el的DOM节

javascript - D3 : Is it possible to zoom+pan one axis and only pan the other?

我有x轴的缩放和平移功能,但我想为y轴添加平移功能。我尝试使用d3.behavior.zoom和d3.event.translate[1]来获取y平移值并使用它,但是当缩放发生时平移值会发生变化,而单击拖动确实会平移y轴,缩放也会平移y轴(以一种非直观的方式)。我还尝试使用两个d3.behavior.zoom实例,一个用于x轴,一个用于y轴,但只有最后添加的一个在缩放事件中被调用。这是一个适用于在x方向缩放和平移的示例,我也想添加y平移(但不是y缩放):varx=d3.scale.linear().domain([0,800]).range([0,800]);vary=d3.scale

javascript - 如何使用 goog.provide 和 goog.require 加载我自己的 js 模块?

我们正在尝试将项目的打包方式从dojo切换到google闭包,但到目前为止我们还没有成功。这是一个简单的例子,说明了我们正在努力完成的事情:goog.require("foo.bar");functionmain(){foo.bar.echo("helloworld")}Thenin/foo/bar.jsIhave:goog.provide("foo.bar");foo.bar.echo=function(s){console.debug(s);}我在firebug中收到的错误如下:goog.requirecouldnotfind:foo.barfooisnotdefined当我查看“

javascript - Chrome 扩展 : Communication between content script and background. html

我是Chrome扩展的新手。我试图在内容脚本和background.html页面之间进行通信。background.html向内容脚本发送请求“hello”,内容脚本应以“hellobackground”警报响应.但这并没有发生。我的background.html代码是:functiontestRequest(){chrome.tabs.getSelected(null,function(tab){chrome.tabs.sendRequest(tab.id,{greeting:"hello"});});}content.js代码:chrome.extension.onMessage.

javascript - 有人可以解释这个 require.js 示例中涉及的语法吗?

我希望这个问题不要太宽泛,但是在这个特定的require.js/ESRI示例中出现了很多不熟悉的语法,我希望有人可以向我解释其中的一些内容。首先,这段代码有效(也就是说,它做了我期望它做的事情):它创建了一个basemap并添加了一个从map服务中提取的FeatureLayer。它是ESRIJavascriptAPI页面中示例的精简版。这是代码:varmap;varfeatureLayer;require(["esri/map","dojo/domReady!","esri/layers/FeatureLayer"],function(Map){map=newMap("map",{ba

javascript - Bootstrap 3 Popover : display on hover AND on click, 又名。固定弹出框

使用悬停触发器可以正常显示弹出窗口。通过click触发器显示弹出窗口效果很好。现在,当鼠标悬停在触发图像上时,如何让弹出框出现,但如果用户单击图像,取消悬停并启动点击切换?换句话说,悬停显示弹出窗口并单击“固定”弹出窗口。HTML非常标准:User还有popover初始化,更无聊:$(function(){$("[rel=popover]").popover();});据我目前所见,解决方案似乎是一组很好的复杂的popover('show')、popover('hide')和popover('toggle')调用,但我的javascript/jQuery-foo不能胜任这项任务。编辑:

javascript - 为 Angular 指令添加多个 'require' 选项

通常在指令中,如果我想将范围传递给它,我会使用require:'ngModel'。这很好用。但我现在正在创建一个指令,该指令创建5个不同的HTML元素,每个元素具有从父级传递的不同ngModel。需要作为属性传递的ngmodels是ngModel1、ngModel2、ngModel3、ngModel4、ngModel5。如何在指令内的require条件中添加多个选项?我试过这些,但没有用:require:['ngModel1','ngModel2','ngModel3','ngModel4','ngModel5'],和require:{'ngModel1','ngModel2','ng

drag-and-drop - 在 Raphael js 中使路径和图像可拖动

是否可以使用Raphaeljs在页面周围拖放除圆形和矩形以外的对象?我想添加路径和图像,然后您可以四处移动,但事实证明这很棘手。我想用Raphael解决这个问题,因为它支持触摸界面。这是代码window.onload=function(){varR=Raphael(0,0,"100%","100%"),r=R.circle(100,100,50).attr({fill:"hsb(0,1,1)",stroke:"none",opacity:.5}),g=R.circle(210,100,50).attr({fill:"hsb(.3,1,1)",stroke:"none",opacity:

javascript - Backbone.js & require.js : how do I transform my models, View 和集合到 require.js 模块?

我正在使用backbone.js开发一个javascript应用程序,也就是说,为了便于开发,我以这种方式构建我的文件app|+views|LmovieRow.js|LmovieDetail.js|+models|Lmovie.js|Ltvshow.js|+collections|Lmovies.js|Ltvshows.js|+templates|LmovieList.tpl|LmovieDetail.tpl|LapplicationUI.tpl|Lapplication.js现在,有很多javascript文件要服务器提供给用户,我看到一些关于labjs或require.js的讨论,