console.log([1]===[1]);//falsevar a =[];//a其实存的是一个空数组的地址 引用var b = a;//赋值也是 赋的这个引用
console.log(a == b);//turefunctionfn(stu){
stu.name ="张三";//此时实参stu和形参stu指向同一个对象,按照地址,找到对象,改变名字
stu ={name:"李四"};//重新给形参stu赋值,和实参以及对象没有关系}var stu ={name:"王五"};fn(stu);//传的是一个引用
console.log(stu.name);//张三
二、创建数组
创建数组的三种办法: new Array(), Array(), [],三种方式创建出来都是一样的。
var arr =[12,5,8,123,222];var arr1 = arr.filter(function(item,index,array){return item>12;})
console.log(arr1);var stu =[{name:'lisi',age:20},{name:'lily',age:18},{name:'lucy',age:22},{name:'hmm',age:30}];var newstu = stu.filter(function(item){return item.age>20;});
console.log(newstu);
map:遍历数组,由回调处理之后的一个新的返回值组成数组。
var number =[1,4,9];var num = number.map(function(item,index,array){return Math.sqrt(item);});//var num = number.map(Math.sqrt);
console.log(num);
forEach:通过回调处理接收的参数,无返回值。
var number =[1,4,9];
number.forEach(function(item,index,array){
console.log(`a[${index}]=${item}`);})// for(var i = 0;i < number.length; i++){// console.log(`a[${i}]=${number[i]}`);// }