第一题将查询字符串转成k-v的形式
let s="ct=24&qqmusic_ver=1298&new_json=1"
let params={
};
s.split("&").map(function(ele,index){
let arr=ele.split("=");
console.log("arr",arr)
params[arr[0]]=arr[1]
})
console.log(params,"params")
2 基本数据类型和复杂数据类型在复制时的区别
如果从一个变量向另外一个变量复制复制基本类型的值,会在变量对象上创建一个新值,然后把该值复制到为新变量分配的位置上。这两个值是完全独立的,不会相互影响
var num1=5;
var num2=num1;
console.log("num1",num1+1);//6
console.log("num2",num2); //5
如果用图来解释的话就像下面这样
当一个变量向另一个变量复制引用类型的值时,同样也会将存储到的值复制一份放到新变量分配的空间中。不同的是,这个值的副本实际上是一个指针, 而这个指针指向存储在堆中的一个对象。复制结束后,两个变量实际上引用的是同一个变量,因些,其中一个改变,也会影响另外一个
var obj1=new Object();
var obj2=obj1;
obj1.name="foo";
console.log("obj2.name",obj2.name);// foo
配上图如下: