js中的传值和传引用,判断两个数组是否相等

所谓js的中的传值,其实也就是说5种基本数据类型(null,undefind,boolean,number,string)
传引用也就是说的那个引用数据类型,(array和objec)

基本数据类型的值不可变,而引用数据类型的值是可变的

所以当你比较数组和对象时,都是false;除非你是克隆的原份数据
即: var a = { name: "李四" };
    var b = a; 
大家通常称对象为引用类型,以此来和基本类型进行区分;
而对象值都是引用,所以的对象的比较也叫引用的比较,当且仅当他们都指向同一个引用时,即都引用的同一个基对象时,它们才相等.

判断两个数组是否相等

function equar(a, b) {
    // 判断数组的长度
    if (a.length !== b.length) {
        return false
    } else {
        // 循环遍历数组的值进行比较
        for (let i = 0; i < a.length; i++) {
            if (a[i] !== b[i]) {
                return false
            }
        }
        return true;
    }
}
var s = equar([1, 3, 2], [1, 2, 3])
console.log(s)
原文地址:https://www.cnblogs.com/ysx215/p/10775023.html