您的位置:首页 > 其它

修复的一些小bug

2013-07-27 19:42 176 查看
1. 对象通过引用来传递,他们永远不会被复制, 如下:

var a = {};
var b = {};
a ==b;//false


  字符串就不是了:

  var a = "";var b = "";a== b;//true

2.我们知道,数组,Boolean值都是引用对象,在复制的时候,两个变量都指向同一指针;string类型不是。var a = "ass";var b =a; a==b;//true

var a = [1,2,3];
var b = a;
a.push(4);//返回数组长度
console.log(a);//[1,2,3,4]
console.log(b);//[1,2,3,4]


  那么我们不要得到这样的结果呢?

var a = [1,2,3],b=[],_len;
for(var i=0;i<_len;i++){
b.push(a[i]);
}
b;//[1,2,3]
a.push(44);
a;//[1,2,3,44]
b;//[1,2,3]


  还有1种方法:slice:

var a = [1,2,3,4];
var b = a.slice(0,a.length);
a.push(99);
a;//[1,2,3,4,99]
b;//[1,2,3,4]


3.对url进行截取 &gid=abcd,多种情况

var $url = "http://www.pptv.com?sid=9&gid=dcj&sed=kl";
var a = $url.split("?")[1];
var b = a.split("gid=")[1];
var c = b.split("&")[0];// "dcj"


4. indexOf() 必须是对字符串进行查找, 在IE8、7下面报错,原来是a.indexOf("k");这个a 是对象,不是字符串

3. .html() 有可能会有空格 ,要清除空格。

  var game_list = {...};

  for(var prop in game_list){

    game_list[target];

  }

  这个game_list console.log(game_list);//得到了正确的值

  console.log(target);//也得到了正确值

  但是, console.log(game_list[target]);//undefined;

  这个target ,是 $(this.html()) 得来的。打印这个target == "ABCD"; // ABCD ,ABCD false; 竟是多了空格
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐