近期学习javascript和jquery遇到一些问题的技巧知识总结

工作快两年多了,刚毕业的第一年,很有干劲,很努力的学东西,但是到了第二年,基本学的少了,看的少了,到了今年2016年,慢慢意识到这样子不行,所以时不时抽出点时间学习下,本人还是菜鸟一枚,但是通过这几个月抽出的一点点时间,我真的学到了很多,以前学js就忘记 ,现在 又学了一遍js ,感觉好多东西都通了一点,

1  定义变量未赋值出现undefined和 用typeof检测 未赋值变量出现undefined的区别

    typeof 返回的值字符串的undefined 如:

   var fg; 
   if(typeof fg =='undefined'){//注意 这里如果undefined 不加 引号 就会执行else  因为typeof 返回的是字符串undefined 

          alert('我会弹出来');  

   }else{
     alert('我不是弹出');

  }
 
 var fs;
alert(fs==undefined) //这里undefined不用加引号 现在弹出true 加了引号就是false

2 jquery 中的data()方法


 $('.logo').data('name','zhao'); //这里是给.logo 赋值一个name  值为zhao

console.log($('.logo').data('name'))*/  //这里是取.logo 的值  这样子有什么用呢
想象这样一个场景:
一个用户信息查看页面,带有一些很标准的功能,增删查改、分页什么的,点击用户名字弹出一个界面浏览用户的各种信息。
这时候就很适合使用data把用户信息绑定在用户名字上。不用的话,你就需要自己维护一个用户信息的数组,或者自己写一个前端小型mvc框架才行。

3私有变量的问题
 var person = {  
    _name: '',   
    getName: function() {  
        return this._name || 'not defined';  
    }  
};   
person.getName(); // "not defined"
下划线前缀用来作为私有变量的约定,但是其他开发人员仍然可以调用此私有变量:
person._name; 

那么,如何在JavaScript中创建一个真正的私有变量呢? 
主要技巧是使用匿名函数(anonymous function)和闭包(closure)
var person = {};    
(function() {  
    var _name = '';   
    person.getName = function() {   
        return _name || 'not defined';   
    }   <br>  
})();   <br>  
<br>  
person.getName(); // "not defined"   
typeof(person._name); // "undefined"  //外面的开发人员就访问不到了

4 .for循环:我们习惯的写法是—–for(var i=0;i<selector.length;i++){};

看似是没有问题,但是如果selector是读取的DOM的节点,那么每一次循环都要去DOM里选取节点再做判断,非常影响性能。数量不大还行,多了就非常严重!因此for循环判断条件里尽量不要使用涉及到DOM操作的动作。优化如下:for (var i = 0, max = selector.length; i < max; i++){};这个同理就是减少dom检索的请求;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值