ACwing学习——JavaScript(5)

161 阅读2分钟

文参与4月更文挑战,打卡day21,第二十一篇

6. 对象(Object 用的多)

类似于C++中的map(Python中的字典),由key:value对构成。

value可以是变量、数组、对象、函数等,值可以为空(null,undefined)

函数定义中的this用来引用该函数的“拥有者”。

对象属性与函数的调用方式:

person.name、person.add_money()

// 用中括号的时候里面的键名要加引号,该方式可以随时修改引号中的内容(即随时修改name的值来访问不同的变量)
person["name"]、person["add_money"]()

7. 数组

数组是一种特殊的对象。

类似于C++中的数组,但是数组中的元素类型可以不同。

数组中的元素可以是变量、数组、对象、函数。

let a = [1, 2, "a", "yxc"];

let b = [
    1,  // 变量
    "yxc",  // 变量
    ['a', 'b', 3],  // 数组
    function () {  // 函数
        console.log("Hello World");
    },
    { name: "yxc", age: 18 }  // 对象
];

修改数组中的某一项

其中数组下标可以任意定义,未被定义到的下标就是undefined

数组的长度=最大小标+1

访问数组中的元素的方法:通过下标访问

a[0] = 1; // 访问数组a[]的第0个元素
console.log(a[0]);

数组的常用属性和函数

属性length:返回数组长度。注意length是属性,不是函数,因此调用的时候不要加()

函数push():向数组末尾添加元素

函数pop():删除数组末尾的元素

函数splice(a, b):删除从a开始的b个元素

函数sort():将整个数组从小到大排序

自定义比较函数:array.sort(cmp),函数cmp输入两个需要比较的元素,返回一个实数。负数表示第一个参数小于第二个参数,0表示相等,正数表示第一个参数大于第二个参数。

实现对数组a从大到小排序:

实现对数组a从小到大排序: