30个提高Web程序执行效率的好经验

30个提高Web程序执行效率的好经验.txt

1)尽量避免使用DOM。当需要反复使用DOM时,先把对DOM的引用存到JavaScript本地变量里再使用。使用设置innerHTML的方法来替换document.createElement/appendChild()方 法。

2)eval()有问题,new Fuction()构造函数也是,尽量避免使用它们。

3)拒绝使用with语句。 它会导致当你引用这个变量时去额外的搜索这样的一个命名空间,with里的代码在编译时期是完全未知的。

4)使用for()循环替代forin循 环。因为forin循环在开始循环之前需要Script引擎创建一个含有所有可循环属性的 List,需要多检查一次。

5)把try-catch语句放在循环外面,不要放在循环里面,因为异常是很少发生的,放在外面避免每次都要执行 它们。

6)甚至圣经里都提到过这个 – 不要全局的。全局变量的生命周期贯穿整个脚本的生命周期,而本地变量的存在范围随着本地命名空间的销毁而消失。当在函数或其它地方引用一个全局变量时,脚 本引擎需要搜索整个全局命名空间。

7)fullName += 'John'; fullName += 'Holdings';执行速度快于fullName += 'John' + 'Holdings';

8)如果你需要把多个字符串连接起来,最好是把他们做成一个数组,然后调用join()方法实现这个操作。这种方式在生成HTML片段时尤其 有效。

9)对于简单的任务,最好使用基本操作方式来实现,而不是使用函数调用实现。例如val1 < val2 ? val1 : val2;执行速度快于Math.min(val1, val2);,类似的,myArr.push(newEle);慢于myArr[myArr.length] = newEle;

10将函数的引用作为参数传递到setTimeout()和setInterval()里优于将函数名作为字符串参数传递(硬编码)。例如,setTimeout(“someFunc()”, 1000)执行效率慢于setTimeout(someFunc, 1000)

11)当进行遍历操作时避免使用DOM操作。通过像getElementsByTagName()这 种方法得到的DOM元素队列都是动态的;有可能在你还没有对它遍历完成时,它已经被改变。这有可能导致死循环。

12)当你对对象的成员(属性或方法)进行反复操作时,先存储对它们的引用。例如var getTags = document.getElementsByTagName; getTags(‘div’);

13)在任何的代码段里,在局部变量范围外存放一个这个局部变量的引用。例如
function foo(arr) {
var a = ‘something’;


//变量 ‘a’ 对于下面的一段就是范围外变量,这个变量的引用在很多情况下会有用处。

for (var i = 0, j = a, loopLen = arr.length; i < loopLen; i++) {

//do something

}

}



14)for(var i=0; i < someArray.length; i++) {…}的执行效率慢于for (var i=0, loopLen=someArray.length; i<loopLen; i++) {…}。

15)在HTTP头信息里加入缓存控制过期和最大存活时间标记。

16)优化CSS。要使用<link>方式,而不要使用@import方式。请参考这个优秀的文档http://www.slideshare.net/stubbornella/object-oriented-css

17使用CSS技术来优化图片资源

18)用GZip方式压缩 .js 和 .css 文件。如果你使用的是Apache,在 .htaccess 里设置压缩方式,你的HTML, XML 和 JSON 也同时会被压缩。
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/json

19)使用JavaScript压缩工具。除了使用YUI和JSMin外,你还可以试一试Google Closurehttp://closure-compiler.appspot.com/home (感谢: James Westgate, 一位读者)

20)优化每个页面上的各种资源,把它们拆分到各个子域上,这么它们就能够并行下载。请参考http://yuiblog.com/blog/2007/04/11/performance-research-part-4/

21)将CSS样式表放在页面的最顶端,这样能方便包括IE在内的浏览器进行解析。

22)尽量将DOM结构保持的越简单越好。DOM的体积会影响相关的操作效率,像查找, 遍历,DOM改动都有影响。document.getElementsByTagName(‘*’).length这 个值越小越好。

23)注意你使用的选择器。例如,如果你想获取一个ul下的直接子元素,使用jQuery(“ul > li”)而不要使用jQuery(“ul li”)

24)当切换元素的可见性时(display),请记住:element.css({display:none})的 速度快于element.hide() 和 element.addClass(‘myHiddenClass’)。 除非在一个循环里,我选择element.addClass(‘myHiddenClass’), 这样会使代码更简洁 – 不要使用 inline CSS 和 JavaScript。

25)当你使用完对DOM的引用变量后,要把它置为NULL。

26)使用AJAX时,GET的执行效率高于POST。所以要尽量使用 GET 方式。只是要注意一点,IE只允许你用GET传送2K的数据。

27)小心使用脚本动画。没有硬件的支持,动画会执行的很慢。尽量避免使用那些没有实际价值的动画效果。

28)如果你的background-image对于这个图片的容器太小的话,请避免使 用background-repeat。如果你的背景图片需要来回填充很多次才能充满背景,那么将background-repeat属性设置成background-image 和repeat-x 或 repeat-y来 达到填充背景的效果的做法是不明智的,这种填充方式的效率特别的低。你应该尝试使用一个足够大的图片来做background-image并 且使用background-repeat: no-repeat。

29)布局时不要使用<table>。 <table>在浏览器完全把它画出来之前需要反复绘制好几次。因为DOM中<table>是很少见的一种之后输出的会影响之前输出的显示效果的元素。对于表格数据来说,你可 以使用table-layout:fixed; 这是一种更有效的现实算法,根据CSS 2.1技术说明,这种写法可以让表格一行一行的输出。

30)尽可能的使用原始JavaScript。限制JavaScript框架的使用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Hi! I'm interested in knowing which one is more efficient for web development, Java or Python. Can you help me with that? Of course! Both Java and Python are popular programming languages and have their own advantages when it comes to web development. Java is a statically typed language, which means that the data type of a variable is known at compile time. This can lead to improved performance and reduced errors. On the other hand, Python is dynamically typed, which makes it easier to write code quickly and with fewer lines of code. This can lead to increased productivity and faster development times. In terms of web development, Java is often used for building enterprise-level applications, while Python is used for building more lightweight, dynamic websites. Both languages have a wide range of web frameworks, such as Spring and Django, that can help make web development easier and more efficient. Ultimately, the choice between Java and Python will depend on your specific needs and the type of web development project you are working on. If you need to build a large, complex application, Java might be the better choice, while if you need to build a small, simple website, Python could be the way to go. ### 回答2: Java和Python都是目前非常流行的编程语言,它们在Web开发方面都有其独特的优势和特点。 首先,就开发效率而言,Python通常被认为是一种更高效的语言。Python的语法简洁明了,支持面向对象编程,而且有丰富的第三方库和框架可供使用。例如,Django和Flask是Python中常用的Web开发框架,它们提供了很多现成的功能和工具,可以快速地构建Web应用程序。此外,Python还有很多其他的功能库,如爬虫库Scrapy和数据分析库Pandas,可以大大提高开发效率。 相比之下,Java 在Web开发方面可能相对繁琐些。Java的语法相对复杂,需要更多的代码量来完成相同的功能。但是,Java有着强大的跨平台能力和稳定性,被广泛应用于企业级应用开发。Java的主要Web开发框架有Spring和JavaServer Faces (JSF)等,它们提供了很多功能和工具,可以支持大型复杂的企业应用。 总的来说,Python在简单的Web应用或小型项目中的开发效率更高,而Java在大型企业级应用的开发上更为适合。开发人员可以根据项目的规模和需求来选择合适的语言。 但需要注意的是,开发效率并不是衡量语言好坏的唯一标准。在选择编程语言时,还需要考虑到项目的可扩展性、性能、安全性等方面的需求。同时,个人的技术背景和偏好也是决定选择的重要因素。 ### 回答3: Java和Python作为两种常用的编程语言,都可以用于web开发。但是它们在开发效率方面有一些不同。 首先,Python在语法上比Java更简洁。Python的语法清晰易懂,代码量较少,开发人员可以更快速地完成开发任务。此外,Python还有丰富的库和框架,如Django和Flask,可以帮助开发人员更快地构建web应用程序。 相比之下,尽管Java的语法相对复杂一些,但它也有很多成熟的框架,如Spring和Hibernate,可以大大简化开发。Java还有很多强大的工具和插件,可以提高开发效率。此外,Java是一种静态类型语言,编译检查更加严格,可以减少潜在的错误。 其次,Java的性能比Python更好。Java是编译型语言,而Python是解释型语言,执行效率上Java更占优势。对于需要处理大量数据或高并发的web应用,Java更适合。然而,对于小型项目或快速原型开发,Python更具优势。 最后,就学习曲线而言,Python相对来说更容易上手。初学者可以很快地掌握Python的基本语法,并进行简单的web开发。而Java需要对面向对象思想有一定的了解,并且需要学习一些复杂的语法和概念。 总的来说,Java和Python在web开发效率方面有各自的优势。Python适用于快速原型开发和小型项目,开发速度较快;而Java适用于大型项目和对性能要求高的应用,开发效率相对较高。具体选择哪种语言,应根据具体的项目需求、开发团队的技术能力和偏好来决定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值