我想最多舍入2位小数,但只在必要时.
输入:
10
1.7777777
9.1
Run Code Online (Sandbox Code Playgroud)
输出:
10
1.78
9.1
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做__CODE__
?
当我{"silent":true}
在Backbone模型中设置属性时通过时,为什么不仅仅抑制change:attribute
事件?下次更改属性时触发该事件的优点是什么?
更新
Backbone 0.9.10改变了传递的行为{ "silent": true }
.来自更改日志:
传递
{silent:true}
变化将不再拖延个人"变化:attr"事件,而是完全沉默.
在此处浏览更改日志
我最近被要求对现有项目进行编组,我不知道究竟是什么意思.在maven网站上,它概述了如何从头开始创建maven项目,但是如果我已经获得了大量代码呢?
我很乐意在命令行或Eclipse/Netbeans中工作.我知道2 IDE有很多插件可以让这种事情变得更容易,但我不知道从哪里开始.
除了编写一个包含所有依赖项的pom文件之外,还有什么吗?
我想知道如何在n组中进行ajax调用.
这是我的用例:
我有一个显示使用数据的表.您可以深入到每一行,如果每行都有一个公共属性,您可以深入钻取,您可以选择一次钻入所有行.对于每一行,进行ajax调用以获取要附加到表的数据.
在某些情况下,最多可以同时钻50行.可以想象,这给服务器带来了很大的压力.我最好能以较小的批次发送这些电话,这些电话会在等待批量生效之前发送掉吗?
我知道有像jquery消息队列这样的插件可能会帮助我,但这是一个工作项目,所以我们想尽可能地避免插件.
我正在阅读Nicholas Zackas的高性能Javascript,其中讨论了通过反转它并最小化其属性查找来优化for循环.
代替:
for (var i = 0; i < items.length; i++ ) {
processItems(items[i]);
}
Run Code Online (Sandbox Code Playgroud)
你得到:
for (var i = items.length; i--; ) {
processItems(items[i]);
}
Run Code Online (Sandbox Code Playgroud)
在撰写本文时,执行时间" 比原始时间快50%-60% ".然而我创建了一个jsperf,在Firefox和Chrome中我注意到优化的 for循环实际上明显变慢了,尤其是在Firefox中.
新的浏览器是否以不同方式优化循环?现在编写for循环的最有效方法是基本方法吗?
我在mongoDB中有一个深度嵌套的文档,我想获取单个子对象.
例:
{
"schoolName": "Cool School",
"principal": "Joe Banks",
"rooms": [
{
"number": 100
"teacher": "Alvin Melvin"
"students": [
{
"name": "Bort"
"currentGrade": "A"
},
// ... many more students
]
},
// ... many more rooms
]
}
Run Code Online (Sandbox Code Playgroud)
最近Mongo更新为允许使用$ elemMatch投影进行1级深度子对象检索:
var projection = { _id: 0, rooms: { $elemMatch: { number: 100 } } };
db.schools.find({"schoolName": "Cool School"}, projection);
// returns { "rooms": [ /* array containing only the matching room */ ] }
Run Code Online (Sandbox Code Playgroud)
但当我尝试以同样的方式取一个学生(2级深)时,我收到一个错误:
var projection …
Run Code Online (Sandbox Code Playgroud) 我很难概念化jQuery中究竟回调或挂钩的内容.他们似乎被混为一谈,但我不知道他们之间的区别.
根据我对其他关于回调的帖子的理解,像这样,回调只是一个函数A,你传递给另一个函数B,一旦B完成就调用A. (这可能是完全错误的,如果是这样,请纠正我).
除了声明"你应该使用钩子/回调"之外,我真的对钩子没有任何想法.有些东西让我怀疑他们是那么相似......
有没有一种有效的方法来克隆一个对象但是遗漏了指定的属性?理想情况下,不重写$ .extend函数?
var object = {
"foo": "bar"
, "bim": Array [1000]
};
// extend the object except for the bim property
var clone = $.extend({}, object, "bim");
// = { "foo":"bar" }
Run Code Online (Sandbox Code Playgroud)
我的目标是通过不复制我不会使用的东西来节省资源.
筛选给定元素上的类列表的最有效方法是什么?
<div class="foo bar"></div>
<div class="bim bar"></div>
$("div.bar").click(function(ev) {
alert("The non-bar class was:" + ???);
});
Run Code Online (Sandbox Code Playgroud)
我知道我可以编写一个for循环来遍历ev.currentTarget.classList,但我想知道是否有更好的方法.
编辑:我想澄清一下,我希望警报告诉我"foo"和"bim".我不想替换 "bar",我只是希望能够访问非bar的类.谢谢.
我注意到,如果我尝试使用带有数字值的键名创建一个对象,则会抛出一个错误(这与此处列出的JavaScript命名一致:哪些字符对JavaScript变量名有效?).但是,我注意到,如果我这样做,我仍然可以动态添加这样的变量名
失败:
object.1foo = "bar";
Run Code Online (Sandbox Code Playgroud)
失败:
object = {
1foo: "bar"
}
Run Code Online (Sandbox Code Playgroud)
成功:
object["1foo"] = bar;
Run Code Online (Sandbox Code Playgroud)
这是为什么?
javascript ×6
jquery ×4
ajax ×1
backbone.js ×1
decimal ×1
eclipse ×1
maven-2 ×1
mongodb ×1
netbeans ×1
performance ×1
rounding ×1