易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : javascript

优化JavaScript代码

我google一下,已有人翻译了此文.感觉比我翻译的要好!是译言站翻译的
见www.yeeyan.com/articles/view/92135/47626/dz
原文见:http://code.google.com/intl/zh-CN/speed/articles/optimizing-javascript.html
不合适的地方,请大家指出来!希望对你有用!
                              优化JavaScript代码(Optimizing JavaScript code)
    客户端脚本让你的应用程序更动态,但是浏览器解释脚本会带来低效率,不同客户端的性能也是不同的.下面我们讨论一些技巧和最好的实践来优化你的JavaScript代码
    使用字符串(working with string)
    String连接会给IE6和IE7垃圾回收造成影响.尽管这些问题已经得到在IE8解决--字符串连接的效率在IE8和其它非IE浏览器(如chrome)上有稍微提高.如果你的一大部分用户群体在使用IE6,7,你应该备加注意String的构造方式.
    看一下如下例子:
    
var veryLongMessage =
&nbs ......

JavaScript 动态创建表格:新增、删除行和单元格

利用js来动态创建表格有两种格式,appendChild()和insertRow、insertCell()。两种方式其实差不多,但第一种有可能在IE上有问题,所以推荐大家使用第二种了,直接说吧。
1、inserRow()和insertCell()函数
insertRow()函数可以带参数,形式如下:
insertRow(index):index从0开始
  这个函数将新行添加到index的那一行前,比如insertRow(0),是将新行添加到第一行之前。默认的insertRow()函数相当于 insertRow(-1),将新行添加到表的最后。一般我们在使用的时候都是:objTable.insertRow (objTable.rows.length).就是为表格objTable在最后新增一行。
  insertCell()和insertRow的用法相同,这里就不再说了。
2、deleteRow()和deleteCell()方法
  deleteRow()函数可以带参数,形式如下:
  
  deleteRow(index):index从0开始
        和上面两个方法差不多的意思,就是删除指定位置的行和单元格。要传入的参数:Index是行在表格中的位置,可以下面的方法取得然后去删除:
var row=document.getElementById("行的Id");
var index=row.rowIndex;  //有这个属性,嘿嘿
objTable.deleteRow(index);
  &nb ......

javascript 优化


Optimizing JavaScript code
Authors: Gregory Baker, Software Engineer on GMail & Erik Arvidsson, Software Engineer on Google Chrome
Recommended experience: Working knowledge of JavaScript
Client-side
scripting can make your application dynamic and active, but the
browser's interpretation of this code can itself introduce
inefficiencies, and the performance of different constructs varies from
client to client. Here we discuss a few tips and best practices to
optimize your JavaScript code.
Working with strings
String
concatenation causes major problems with Internet Explorer 6 and 7
garbage collection performance. Although these issues have been
addressed in Internet Explorer 8 -- concatenating is actually slightly more
efficient on IE8 and other non-IE browsers such as Chrome -- if a
significant portion of your user population uses Internet Explorer 6 or
7, you should pay serious attention to the way you build your strings.
Consider this example:
var veryLongMessa ......

JavaScript 简单项目应用技巧

1.<select></select>标签应用
    通常的写法是:
    <select onchange="javascript:windwo.open(this.options[this.selectedIndex].value)">
        <option>MAIN</option>
        <option value="http://www.baidu.com/">BAIDU</option>
        <option value="http://www.csdn.net/">CSDN</option>
    </select>
  
    优化版:
    <script>
        function jumpMenu(sefObj,restore){
           window.open(selObj.options[selObj.selectedIndex].value);
           if (restore)    selObj.selectedIndex=0;
        }
    </script>
 &nb ......

理解Javascript闭包(closure)

理解Javascript闭包(closure)
专题 原帖 http://www.w3cgroup.com/article.asp?id=87
此文用通俗的文字介绍了Javascript闭包 。
看过后,我对javascript闭包简单的理解就是 文中第四、五段中所说的“在内存中维持一个变量,不会被GC回收”。
当然还需要学习才能深入的理解javascript闭包
一、什么是闭包?
“官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
相信很少有人能直接看懂这句话,因为他描述的太学术。我想用 如何在Javascript中创建一个闭包
来告诉你什么是闭包,因为跳过闭包的创建过程直接理解闭包的定义是非常困难的。
看下面这段代码:
function a(){
 var i=0;
 function b(){
 alert(++i);
 }
 return b;
}
var c = a();
c();
这段代码有两个特点:
1、函数b嵌套在函数a内部;
2、函数a返回函数b。
这样在执行完var c=a()后,变量c实际上是指向了函数b,再执行c()后就会弹出一个窗口显示i的值(第一次为1)。这段代码其实就创建了一个闭包,为什么?因为函数a外的变量c引用了函 ......

javascript 动态加载css、js

兼容IE、FireFox、Chrome
//加载js
function loadJs(){
    if (!getObj('script_PlData')){
        var scriptObj= document.createElement("script");
        //scriptObj.id = 'script_1';
        scriptObj.type = "text/javascript";
        scriptObj.src='/js/m.js' ;
        document.body.appendChild(scriptObj);
    }
}
//加载css、
function loadCss(){
    var cssObj=null;
    cssObj = document.createElement("style");
    var cssAry=new Array();
    cssObj.setAttribute("type", "text/css");
    cssAry.push('img {border:none;}');
    cssAry.push('.div{ width:350px; height:auto; border:1px solid #000000;}');
    cssAry.push('.div_data{ width:300px; height:70px; border: ......

javascript 动态加载css、js

兼容IE、FireFox、Chrome
//加载js
function loadJs(){
    if (!getObj('script_PlData')){
        var scriptObj= document.createElement("script");
        //scriptObj.id = 'script_1';
        scriptObj.type = "text/javascript";
        scriptObj.src='/js/m.js' ;
        document.body.appendChild(scriptObj);
    }
}
//加载css、
function loadCss(){
    var cssObj=null;
    cssObj = document.createElement("style");
    var cssAry=new Array();
    cssObj.setAttribute("type", "text/css");
    cssAry.push('img {border:none;}');
    cssAry.push('.div{ width:350px; height:auto; border:1px solid #000000;}');
    cssAry.push('.div_data{ width:300px; height:70px; border: ......
总记录数:2244; 总页数:374; 每页6 条; 首页 上一页 [255] [256] [257] [258] 259 [260] [261] [262] [263] [264]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号