let [a, b, c] = [1, 2, 3]
console.log(a, b, c)1 2 3let { name, age } = { name: "xdd", age: 50 }
console.log(age)50{ name, age } = { name: name, age: age }let { name, age: num } = { name: "xdd", age: 60 }
console.log(num)60// css
.box{
white-space: pre;
}
// html
<div id="box" class="box">
</div>
// js
let box = document.getElementById('box')
let name = 'hvgege'
box.innerHTML = `Hello
${name}!`Hello
hvgege!let a = 'app';
console.log(a.includes('a'));
console.log(a.startsWith('a'));
console.log(a.endsWith('a'));
console.log(a.repeat(3));true
true
false
appappapplet a = 1.9
console.log(Number.parseInt(a))
console.log(Number.parseFloat(a))
console.log(Number.isNaN(a))1
1.9
falsevar a = [1, ...[2, 3], 4]
console.log(a)
function app(x, y, a, b) {
console.log(x+y+a+b)
}
app(...a)(4) [1, 2, 3, 4]
10var foo = {
0: 'html',
1: 'css',
2: 'js',
length: 3
}
var arr = Array.from(foo)
console.log(arr)(3) ["Java", "Python", "Scala"]var arr = Array.of(1, 2, 3)
console.log(arr)(3) [1, 2, 3]var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
var re = ages.filter(checkAdult);
console.log(re)
}
myFunction();(3) [32, 33, 40]var ages = [32, 33, 16, 40]
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
var re = ages.find(checkAdult);
console.log(re)
}
myFunction();32var ages = [32, 33, 16, 40]
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
var re = ages.findIndex(checkAdult);
console.log(re)
}
myFunction();0<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>exe</title>
</head>
<body>
<button onclick="numbers.forEach(myFunction)">点我</button>
<p id="demo"></p>
</body>
<script type="text/javascript">
demoP = document.getElementById("demo");
var numbers = [4, 9, 16, 25];
function myFunction(item, index) {
console.log(index + ' ' + item)
}
</script>
</html>0 4
1 9
2 16
3 25// 映射, 用于处理json数组.
var data = [
{id: 1, name: '你好1'},
{id: 2, name: '你好2'},
{id: 3, name: '你好3'}
];
// ['你好1', '你好2', '你好3']
let res1 = data.map(function(item){
return `${item.id}--${item.name}`
})
console.log(res1)["1--你好1", "2--你好2", "3--你好3"]const obj = {
name: 'hgg',
age: 18,
aaa(){
console.log(9)
}
}
console.log({a: 9, ...obj}){a: 9, name: "hgg", age: 18, aaa: ƒ}// 对象的合并
const obj = {
name: 'hgg',
age: 18,
aaa(){
console.log(9)
}
}
let res = {}
Object.assign(res, obj, {a: 9, name: 'hvgege'})
console.log(res){name: "hvgege", age: 18, aaa: ƒ, a: 9}// 函数表达式的方式来定义箭头函数
let test = (a, b) => ({name: a, age: b})
console.log(test(1, 2)){name: 1, age: 2}function timeout(ms) {
return new Promise((resolve, reject) => {
setTimeout(resolve, ms, 'done');
});
}
timeout(1000).then((value) => {
console.log(value);
});donepromise.then(function(value) {
// success
}, function(error) {
// failure
});async function takeLongTime() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('成功');
//reject('失败');
}, 1000);
})
}
async function test() {
try {
const res = await takeLongTime();
console.log(res);
} catch(err){
console.log(err)
}
}
test()成功class Student {
constructor(name){
this.name = name
}
say(){
console.log(this.name)
}
static speak(){ // 可能只是充当工具方法而已
console.log(this)
}
}
// 子类
class SuperStu extends Student{
constructor(name, age){
super(name)
this.age = age
}
}
const obj1 = new Student('hgg')
obj1.say()
console.log(obj1)
Student.speak()
const obj2 = new SuperStu('hvgege', 18)
console.log(obj2)
SuperStu.speak()hgg
Student {name: "hgg"}
class Student {
constructor(name){
this.name = name
}
say(){
console.log(this.name)
}
static speak(){ // 可能只是充当工具…
}
hvgege
SuperStu {name: "hvgege", age: 18}
class SuperStu extends Student{
constructor(name, age){
super(name)
this.age = age
}
}