IE8对JS的数组,采用属性遍历的方法,解析不一样的地方:

有如下的代码

Array.prototype.Contains = function (str) {
if (!str)
return false;
for (var i = 0; i < this.length; i++) {
if (this[i] == str) {
return true;
}
}
return false;
}

var tmp = new Array();
tmp.push("1");
tmp.push("2");
tmp.push("3");
alert("遍历属性");
for ( var i in tmp ) {
alert(tmp[i]);
}
alert("遍历数组");
for ( var i=0;i<tmp.length;i++ ) {
alert(tmp[i]);
}

如果是非IE8浏览器,例如(IE7、IE9、Chrome、FF,仅测试这几种)
通过属性和数组遍历,其结果是一样的。

但对于IE8,结果会有一点小小的差异,在IE8下会把原型链扩展方法当做一个属性输出,大家可以测试一下。

之所以发现这个差异,也是因为解决了一个诡异的bug,有同事在代码里面使用for ( var i in tmp )这种方式来遍历数组的每个元素,如果正好对Array定义了原型链方法,则会发生这个问题。

所以建议:如果遍历数组元素,还是应该采用标准的写法 for ( var i=0;i<tmp.length;i++ )。

 


查看更多...

Tags: javascript  浏览器兼容性 

分类: JavaScript | 固定链接 | 评论: 0 | 查看次数: 35

 Razor作为ASP.NET MVC 3中最新加入的视图引擎,其简洁的语法和c#、HTML比较紧密的结合性,为我们的开发带来了流畅的体验,在Razor中有一个关键字@helper,可以解决View中代码逻辑重用的问题,以一个实例来说明:


查看更多...

Tags: Razor  helper  asp.net mvc 

分类: MVC | 固定链接 | 评论: 0 | 查看次数: 134

 当我们在使用ASP.NET MVC实现页面跳转的时候,常用的应该是:

  • Redirect
  • RedirectToAction
  • RedirectToRoute
  • 或者在前台使用脚本跳转。

但这几种跳转方式都是基于Get请求的,在某些特定场景下可能并不适用。例如需要传递大数据量参数、或者复杂对象类型参数的场景,get方式肯定是有限制的。


查看更多...

Tags: ASP.NET MVC 

分类: MVC | 固定链接 | 评论: 0 | 查看次数: 107

使用MvcMiniProfiler调试ASP.NET MVC网站性能

 

什么是MvcMiniProfiler?

一款由stackoverflow.com团队开发,专门针对ASP.NET MVC站点进行性能调试的工具,同时,其中的MvcMiniprofiler.EntityFramework组件,能直接输出当前页面执行了哪些SQL语句。

包括以下核心组件:

  • MvcMiniProfiler
  • MvcMiniProfiler.EntityFramework



查看更多...

Tags: MVC  MvcMiniProfiler  性能优化 

分类: MVC | 固定链接 | 评论: 0 | 查看次数: 108

序:关于Web性能优化的一些思考

 

性能优化

性能优化这个话题,基本上也算是老生常谈,目前各大技术媒体也对高性能、高并发web站点的架构、设计等,甚是追捧。圈子里面也是异常火热,各种招聘信息里也是对高级开发人员、架构师、开发经理等角色,要求具有海量数据处理能力、高并发系统设计经验。所以从市场的角度来看,具有一定的性能优化架构经验和技巧,还是比较不错的。

 


查看更多...

Tags: 性能优化  高性能  web  profiler 

分类: 架构 | 固定链接 | 评论: 0 | 查看次数: 152

Did you know ?信息大爆炸的时代

Did you know ?信息大爆炸的时代


查看更多...

Tags: 信息 

分类: 转载 | 固定链接 | 评论: 0 | 查看次数: 335

其实是一个很常用的场景:某个字段比如是不可为空bit型的,在数据库里设置了默认值为1,对应的属性类型自然是bool.

使用VS2010的模型编辑器更新了Model信息后,进行插入测试,没有对该字段赋值,因为是不可空bool类型,我们知道,在new这个对象的时候,如果没有显示指定,该属性一定是false的。但因为数据库设置了默认值,所以我们希望的结果应该是true。但实际的结果却是false,说明,数据库的默认设置在EF下没起作用。

解决方案:


查看更多...

Tags: Entity Framework 

分类: ASP.NET | 固定链接 | 评论: 0 | 查看次数: 365

基于ASP.NET MVC 3的企业应用项目总结

为期三个月的开发加测试工作终于告一段落了,这是我们团队第一次采用ASP.NET MVC(直接使用最新的MVC 3)开发企业应用,期间碰到了很多问题,但在大家的努力下,也都一一解决,先简单介绍一下项目情况吧,是公司的一套业务运营系统,总的从技术实现难度来 讲,没有什么特殊的地方,只有相关部分的业务逻辑算法比较复杂。项目开始前,最大的风险在于整个team除了另外一名同事和我使用过MVC,其他人都是第 一次使用,并且另外那名同事在项目开始一个月左右离职了~~!好在通过大量的交流沟通、code review、内测等手段下,项目基本成功完成。

一、技术架构介绍

  基于.Net的多层解决方案,web框架采用了微软的ASP.NET MVC 3(视图引擎为Razor),数据层采用Entity Framework 4.0。界面组件方面使用了Telerik for MVC版本,JS框架依然是强大的JQuery。 系统提供了中、英两套语言版本,采用微软官方推荐的多语言解决方案,该方案很容易扩展其他语言版本。


查看更多...

Tags: ASP.NET MVC 3  项目总结 

分类: ASP.NET | 固定链接 | 评论: 3 | 查看次数: 846

 一位在日本留学的中国年轻人高速大家:

 

原文链接:http://www.douban.com/note/163095019/

所以中国人要想真正的富有起来,就必须先跳出“端功利主义”和“极端投机主义”这个“中国特色”的怪圈,走上精神文明与物质文明相辅相成、互相促进的发展道路。如果再继续朝错误的方向前进下去,整个社会在不久的将来必将面临一场经济、文化、道德的全面颠覆。 而这个时代的扳道工,就是我们80后这一代人。但愿我们每一个人都能拿出勇气和责任感,挡住即将出轨的车轮!

查看更多...

Tags: 高铁事故 

分类: 转载 | 固定链接 | 评论: 0 | 查看次数: 485

一个查重算法的多种实现思路

需求描述:已知一个长度为100的int型数组,并且每个元素的值大于等于1,并小于等于100,写出一个函数,判断该数组中是否存在重复元素。

这个是大概2年前参加面试的一道算法题,不算难,相信大家都有了自己的一个解法,但怎样才算具有最少时间复杂度和最小空间复杂度的解法呢?


查看更多...

Tags: 算法 

分类: Algorithm | 固定链接 | 评论: 0 | 查看次数: 666
35条记录,1/41234