我正在使用带有JSON数据的AngularJS构建一个电话目录应用程序.我是AngularJS和JSON的新手.
我浏览了AngularJS网站上的"Phonecat"教程,并且能够使用类似于本教程的JSON数据构建测试目录.
我使用我在那里学到的东西遇到了障碍,并试图用真实数据构建一些东西; JSON对象有多个数组,我无法弄清楚如何访问数组中的数据......
我试图在这里复制我的问题:http://jsfiddle.net/4ykNX/
提前致谢!
//employee.json
{
"resultTruncated": false,
"containsSecureData": false,
"entries": [
{
"type": "employee",
"firstName": "Any",
"lastName": "One",
"address": [
{
"streetOne": "123 Long Street",
"streetTwo": "Big Building",
"streetThree": "Room 456",
"city": "City",
"state": "ST",
"zip": "12345"
}
],
"phone": [
{
"area": "111",
"number": "222-3333",
"extn": "444"
}
],
"email": "any@one.edu"
}
]
}
Run Code Online (Sandbox Code Playgroud) 如果我从另一个方法多次访问this.something,缓存"this"并访问something()会更快吗?或者我应该反复使用this.something()?
<script type="text/javascript">
var Foo = (function() {
return {
something: function() {
// Do something
},
stuff: function(obj) {
this.something(obj);
// ...
this.something(obj);
/* OR should I cache this? */
var $that = this;
$that.something(obj);
// ...
$that.something(obj);
}
};
}());
</script>
Run Code Online (Sandbox Code Playgroud) 那么我应该用它来选择元素呢?我使用复选框作为示例,此问题涉及所有表单元素.
实际上,当我们在这里时,其中哪一个更快:
li:first
Run Code Online (Sandbox Code Playgroud)
要么
li:eq(0)
Run Code Online (Sandbox Code Playgroud)
?
假设我有一个庞大的元素列表,其结构如下:
<div class="item">
<div class="header"></div>
<div class="body"></div>
<div class="meta"></div>
<div class="..."></div>
...
</div><!-- .item -->
Run Code Online (Sandbox Code Playgroud)
我已经找到了一个元素,现在我必须找到一个'.body'.哪些代码可以更快地运行:
$(el).find('.body')
Run Code Online (Sandbox Code Playgroud)
要么
$(el).find('.body').eq(0)
Run Code Online (Sandbox Code Playgroud)
换句话说,jQuery会在第一个找到的元素上停止,还是先循环遍历所有元素,然后它才会返回一个带有所选索引的元素?
我需要检查用户写的日期是否有效,所以我想知道什么会更快?
if(dayOfManth > 12 || dayOfManth < 1) { return false; }
return true;
Run Code Online (Sandbox Code Playgroud)
要么
if(MonthOfYear > 12) { return false; }
if(MonthOfYear < 1) { return false; }
return true;
Run Code Online (Sandbox Code Playgroud)
DayOfMonth(1-31)和其他(年度范围,短月,FEB闰日等)也是如此.
什么会更快?
我在JavaScript中遇到了数组符号,我想知道哪种方式写得更快或更好.我认为第二个版本难以阅读,但它有什么好处吗?或者有人用这种方法调用方法吗?或者说他们的速度没有区别?
$('#myContainer')['addClass']("active");
$('#myContainer').addClass("active");
我习惯于第二种方式,但第一种方式更快还是使用第一个版本还有其他好处?
您好我正在尝试使用POST(Hello Angel)发送一个变量.那是代码:
<form action="dos.php" method="post" name="compra">
<input name="id_txt" type="hidden" value=<?php echo "Hello Angel" ?>/>
<input type="submit" name="Send" value="Send" />
</form>
Run Code Online (Sandbox Code Playgroud)
当在另一个页面中显示变量时,只显示空格(仅限Hello).那是代码:
<?php
if (isset($_POST['id_txt']))
echo $_POST['id_txt']
?>
Run Code Online (Sandbox Code Playgroud)
那么,我怎么能显示所有?
显然,这两个样本实现了同样的目的.但是,是否存在任何特定于实现的案例,其中一个可以比另一个具有更好的性能?
也许是一个愚蠢的问题,但这让我今天想到了.
编辑:该示例使用字符串,但这可以是任何东西,我的问题与字符串比较的速度等无关.
if (something == 'something') {
return "something's up";
}
return;
Run Code Online (Sandbox Code Playgroud)
VS
if (something != 'something') {
return;
}
return "something's up";
Run Code Online (Sandbox Code Playgroud) 我有一个Javascript对象,如下所示:
var a = {
b: [1,2,3,4,5,6,7,8,9],
c: [10,11,12,13,14,15]
}
Run Code Online (Sandbox Code Playgroud)
循环遍历两个数组(我想循环遍历每个值!)我使用$.each
,但我可以这样做:
// Option A:
$.each(a, function(i, d){
$.each(d, function(j, e){
console.log(e);
}
});
Run Code Online (Sandbox Code Playgroud)
或这个
// Option B:
$.each(a.b, function(k, f){
console.log(f)
})
$.each(a.c, function(l, g){
console.log(g)
})
Run Code Online (Sandbox Code Playgroud)
两者都生成完全相同的输出,但这两个版本中哪一个更快/更高效/更好?
有什么不同吗?
或者是否有更快/更有效/更好的方式(没有$.each
)?
考虑
a = ['1','2','3','4','5']
for(var i = 0; i < a.length; i++) { if (a[i] == 3) console.log('found it!') }
Run Code Online (Sandbox Code Playgroud)
和
a = {'1': true, '2': true, '3': true, '4': true}
a['3']
Run Code Online (Sandbox Code Playgroud)
哪个会更快,为什么?
javascript ×7
performance ×7
jquery ×5
angularjs ×1
html ×1
if-statement ×1
json ×1
node.js ×1
php ×1