<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
</ul>
</body>
<script>
// 对象的解构赋值
var { a, b, c } = { "a": 1, "b": 2, "c": 3 };
console.log(a, b, c);
var { a } = { "b": 2 };
console.log(a);
var { b: a, } = { "b": 2 };
console.log(a);
var { a: { b } } = { "a": { "b": 1 } };
console.log(b);
var { a, b = 2 } = { "a": 1 }
console.log(b);
// 字符串的解构赋值
var [a, b, c] = '打的菜'
console.log(a, b, c);
// 1. 交换变量的值
var a = 1, b = 2;
[a, b] = [b, a]
console.log(a, b);
// 2. 提取函数返回的多个值
function demo() {
return { "name": "zhangsan", "age": 21 }
}
var { name, age } = demo();
console.log(name, age);
// 3. 定义函数参数
function domen(e, d, g) {
console.log("姓名" + e);
console.log("身高" + d);
console.log("体重" + g);
}
domen("zhangsan", "1.72m", "50kg");
// 4. 函数参数的默认值
function demon({ name = 'zhangsan' }) {
console.log("姓名" + name);
} demon({})
// (1)、模版字符串
const Person = {
name: "亚亚",
age: 22,
hometown: "河南",
hobby: "狼人杀"
}
const intro2 =
`大家好,我是${Person.name},我来自${Person.hometown},我今年${Person.age}岁了,我的爱好是${Person.hobby}。 `
console.log(intro2)
// (2)、repeat函数
var name1 = "123"
var name2 = name1.repeat(3)
console.log(name1);
console.log(name2);
// (3)、includes函数
// includes()函数:判断字符串中是否含有指定的子字符串,返回true表示含有和false表示未含有。第二个参数选填,表示开始搜索的位置。
var name1 = "123"
console.log(name1.includes('1'));
console.log(name1.includes('12'));
console.log(name1.includes('6'));
// (4)、startsWith函数
// startsWith()函数:判断指定的子字符串是否出现在目标字符串的开头位置,第二个参数选填,表示开始搜索的位置。
var name1 = "123"
console.log(name1.startsWith('1'));
console.log(name1.startsWith('12'));
console.log(name1.startsWith('2', 1));
// (5)、endsWith函数
// endsWith()函数:判断子字符串是否出现在目标字符串的尾部位置,第二个参数选填,表示针对前N个字符。
var name1 = "123"
console.log(name1.endsWith('1'));
console.log(name1.endsWith('23'));
console.log(name1.endsWith('2', 2));
// (6)、string.raw函数
// String.raw();看函数名raw是未加工的的意思,正如这个函数的作用一样:返回字符串最原始的样貌,即使字符串中含有转义符,它都视而不见,直接输出。
console.log('hello\nworld');
console.log(String.raw`hello\nworld`);
// 数组的用法
// (1)、Array.of函数
// 函数作用:将一组值,转换成数组。
console.log(Array.of(1, 2, 3, 4, 5, 6));
// (2)、Array.from函数
// 函数作用:可以将类似数组的对象或者可遍历的对象转换成真正的数组。
var list = document.querySelectorAll('li')
console.log(list);
console.log(list instanceof Array);
console.log(list instanceof Object);
// (4)、findIndex函数
// 函数作用:返回符合条件的第一个数组成员的位置下标。
let arr1 = [1, 2, 3, 4, 5, 6]
console.log(arr1.findIndex(function (value) {
return value > 4
}));
// find函数
// 函数作用:找出数组中符合条件的第一个元素。
let arr = [5, 6, 7, 8, 9]
console.log(arr.find(function (item, index) {
console.log(index, item);
return item > 8
}));
console.log(arr.find(function (item, index) {
console.log(index, item);
return item > 88
}));
// (6)、entries函数
// 函数作用:对数组的键值对进行遍历,返回一个遍历器,可以用for..of对其进行遍历。
for (let [i, v] of ['a', 'b'].entries()) {
console.log(i, v);
}
// (7)、keys函数
// 函数作用:对数组的索引键进行遍历,返回一个遍历器。
for (let index of ['a', 'b'].keys()) {
console.log(index);
}
// (8)、values函数
// 作用:对数组的元素进行遍历,返回一个遍历器。
for (let value of ['a', 'b'].keys()) {
console.log(value);
}