Tags
-
Recent Posts
Recent Comments
Categories
Archives
Links
Tools
Meta
Category Archives: Notes
在JavaScript中使用in操作符
今天在阅读jQuery源码的时候看到在if中使用in操作符,发现原来in不仅仅是用在for中,看来对JavaScript的了解实在太少了:) 对我来说最有用的功能是像PHP中的in_array一样使用,其用途可以类似于PHP中的isset(感谢@littlexiang纠正),如下面的代码所示: var arr = [1, 2, 3, 4, 5]; var obj = { “4″: true, “6″:false, “9″:true, “11″:true }; if ( 2 in arr) { alert(’2 in arr’); } else { alert(’2 NOT in arr’); } if ( 4 … Continue reading
IE下Select InnerHTML的问题
在IE下,包括IE8, 9,不能使用innerHTML对select设置option内容,如下面的代码无法得到预期的结果: document.getElementById(‘mySelectId’).innerHTML = ‘ New value ‘; 这个问题在2003年就已经发布在微软支持网站上,但到IE9依然存在这个问题,微软似乎并不把它当成一个问题,详细请参考:http://support.microsoft.com/kb/276228,该文档提出了几种解决方案。 我倾向于采用文章中提到的第三种方法来替代innerHTML: var daysNode = document.getElementById(‘mySelectId’); function updateOptions () { while ( daysNode.firstChild ) { daysNode.removeChild( daysNode.firstChild ); } for (var i = 1; i < 10; i++) { var options = … Continue reading
该博客域名解析出现问题
今天突然发现我的博客无法访问,原以为是服务器出了什么问题,结果发现是DNS解析出错,但在几分钟之后恢复正常,具体原因还不清楚! 域名被指向了59.37.71.87:
Posted in Notes
Leave a comment
Nested function extension of gcc
gcc supports Nested functions as the following example shows: void isort (int arr[], int len) { //shift_element() is the nested function void shift_element (int i) { int ivalue; for (ivalue=arr[i]; i && arr[i-1] > ivalue; i–) { arr[i] = arr[i-1]; … Continue reading
一个页面加载速度分析
昨日同事发现项目的其中一个页面加载速度比其它页面要慢一点,主要是在IE上加载的时候比其它页面多一点停顿时间。该页面是用于查询和显示,数据的数据的读取涉及到多个表,并且数据量相对比较大,所以第一反应可能是数据查询存在问题。 服务器端测试 为了找出效率瓶颈所在,我用Xdebug的profiling功能来分析页面的执行时间,结果发现确实在获取数据的时候花费了大量时间,另外是在Smarty显示模板的时候经几次测试结果差不多,下图是测试结果: 首先对数据查询的SQL进行了分析,发现其中一个表可以增加两个索引,添加索引之后查询时间有了明显减少,如下图所示: 第一次执行 第二次执行 由于页面数据比较多,对Smarty显示慢的原因暂时没有进行优化。 客户端测试 另一个问题是,这个页面在Firefox与Chrome上的显示时间比IE明显要快,而该页面的HTML结构相对比较复杂,所以有理由相信这跟IE的页面处理效率特别是页面渲染速度有关。 添加索引前在Chrome中的加载情况: 添加索引后在Chrome中加载速度的体现: 总结 其实页面的加载速度跟很多因素有关,数据库结构、SQL查询语句、程序实现、HTML结构、浏览器、服务器等都能影响网页的速度,这里只是很简单的测试,希望有时间对页面性能进行深入研究。
Posted in Notes, PHP, Web
Leave a comment