zoukankan      html  css  js  c++  java
  • 每日记载内容总结28

    1.几个需要注意的javascript知识:(原文来自:http://www.cnblogs.com/yanhaijing/p/3465237.html)

    (1)使用 === 代替 ==

    JavaScript 使用2种不同的等值运算符:===|!== 和 ==|!=,在比较操作中使用前者是最佳实践。

    然而,当使用==和!=时,你可能会遇到类型不同的情况,这种情况下,操作数的类型会被强制转换成一样的再做比较,这可能不是你想要的结果。

    (2)将脚本放在页面的底部

    记住——首要目标是让页面尽可能快的呈献给用户,脚本的加载是阻塞的,脚本加载并执行完之前,浏览器不能继续渲染下面的内容。为避免用户等待更长时间,把与页面渲染无关的js放到body结束之前

    (3)构建字符串的最优方法

    当你需要遍历数组或对象的时候,不要总想着“for”语句,要有创造性,总能找到更好的办法,例如,像下面这样。

    var arr = ['item 1', 'item 2', 'item 3', ...];  
    var list = '<ul><li>' + arr.join('</li><li>') + '</li></ul>';

    (4)减少全局变量

    var name = 'Jeffrey';  
    var lastName = 'Way';  
      
    function doSomething() {...}  
      
    console.log(name); // Jeffrey -- 或 window.name

    应该转化为

    var DudeNameSpace = {  
       name : 'Jeffrey',  
       lastName : 'Way',  
       doSomething : function() {...}  
    }  
    console.log(DudeNameSpace.name); // Jeffrey 

    (5)不要给"setInterval"或"setTimeout"传递字符串参数

    setInterval(  
    "document.getElementById('container').innerHTML += 'My new number: ' + i", 3000  
    );
    转化为
    setInterval(someFunction, 3000);

    (6)使用{}代替 new Ojbect()   使用[]代替 new Array()

    创建一个新的对象:

    var o = new Object();  
    o.name = 'Jeffrey';  
    o.lastName = 'Way';  
    o.someFunction = function() {  
       console.log(this.name);  
    } 

    更好的做法

    var o = {  
       name: 'Jeffrey',  
       lastName = 'Way',  
       someFunction : function() {  
          console.log(this.name);  
       }  
    };  

    注意,如果只是想创建一个空对象,{}更好。  var o = {} ;

    创建一个新的数组:

    var a = new Array();  
    a[0] = "Joe";  
    a[1] = 'Plumber';

    更好的做法

    var a = ['Joe','Plumber']; 

    (7)定义多个变量时,省略var关键字,用逗号代替

    (8)原生代码永远比库快,jQuery的“each”方法是伟大的循环,但使用原生"for"语句总是更快。

    (9)确保javascript被禁用的情况下能平稳退化,作为一个经验法则,设计你的网站时假设JavaScript是被禁用的,然后,在此基础上,逐步增强你的网站。

  • 相关阅读:
    LTPA Cookie原理
    如何对更改internet密码所需的缓存时间进行调整?
    Freemem eclipse查看内存的小插件
    Java中static、final用法小结
    MANIFEST.MF内容属性名详细解释
    Java程序员的良药:应用程序的开发技巧
    spring struts2 ibatis框架整合开发
    java中静态代码块的用法 static用法详解 类的加载顺序
    从svn上直接导入项目到workspace中
    Eclipse自动生成UML图 Green UML和ModelGoon(直接推拽)
  • 原文地址:https://www.cnblogs.com/cuiyf/p/3471067.html
Copyright © 2011-2022 走看看