let [a, b, c] = [1, 2, 3]
console.log(a, b, c)
1 2 3
let { 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
appappapp
let a = 1.9
console.log(Number.parseInt(a))
console.log(Number.parseFloat(a))
console.log(Number.isNaN(a))
1
1.9
false
var 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]
10
var 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();
32
var 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);
});
done
promise.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
}
}