<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ECMAScript6</title>
</head>
<body>
<script src="../js/browser.min.js"></script>
<script type="text/babel">
var arr = [1, 2, 3];
for (var i = 0; i < arr.length; i++) {
}
console.log(arr[i]);
for (let j = 0; j < 10; j++) {
}
var a = 100;
window.a = 100;
var a = 200;
window.a = 200;
(function () {
var a = 100;
}());
{
let a = 100;
}
let a1 = 100;
const PI = 3.1415;
console.log(PI);
if (true) {
const HEIGHT = 180;
}
</script>
<script type="text/babel">
var a = 1;
var b = 2;
var c = 3;
console.log(a, b, c);
a = b = c = 10;
console.log(a, b, c);
var [a1, a2, a3] = [11, 22, 33];
console.log(a1, a2, a3);
var [b1, , b3] = [11, 22, 33];
console.log(b1, b3);
var [c1, ...c3] = [11, 22, 33];
console.log(c1, c3);
var [d1, d2 = 22] = [11, 33];
console.log(d1, d2);
var {age, gender1, name} = {name: '张三', gender: '男', age: 18};
console.log(name, gender1, age);
var num1 = 10;
var num2 = 20;
var temp = num1;
num1 = num2;
num2 = temp;
console.log(num1, num2);
[num1, num2] = [num2, num1];
console.log(num1, num2);
function test() {
return ["李四", "未知", 20];
}
var [name, gender, age] = test();
console.log(name, gender, age);
var json = {
id: 123,
status: "OK",
data: [1, 2, 3]
};
var {id, status, data} = json;
console.log(id, status, data);
</script>
<script type="text/babel">
var s = "Hello, world!";
console.log(s.indexOf("wo"));
console.log(s.startsWith("He"));
console.log(s.endsWith("d!"));
console.log(s.includes("llo"));
console.log(s.repeat(3));
var name = "王麻子";
var gender = "女";
var age = 18;
var content1 = "大家好, 我的名字是" + name + ", 今年" + age + "岁, 喜欢" + gender;
console.log(content1);
var content2 = `大家好, 我的名字是${name}, 今年${age}岁, 喜欢${gender}`;
console.log(content2);
var content3 = `名字: ${name}
年龄: ${age}
性别: ${gender}`;
console.log(content3);
var x = 1, y = 3;
var content4 = `${x} + ${y} = ${x + y}`;
console.log(content4);
function sayHi() {
return "Hi!";
}
var content5 = `第一个程序:${sayHi()}`;
console.log(content5);
</script>
<script type="text/babel">
console.log("----------华丽的分割线------------");
var n1 = 10;
console.log(n1);
var n2 = 0b10;
console.log(n2);
var n3 = 0B1010;
console.log(n3);
var n4 = 0o10;
console.log(n4);
var n5 = 0O10;
console.log(n5);
var n6 = 0xf0;
console.log(n6);
var n7 = 0X10;
console.log(n7);
</script>
<script type="text/babel">
var arr1 = new Array();
console.log(arr1);
var arr2 = new Array(3);
console.log(arr2);
var arr3 = new Array(3, 6);
console.log(arr3);
var arr4 = Array.of();
console.log(arr4);
var arr5 = Array.of(3);
console.log(arr5);
var arr6 = Array.of(3, 6);
console.log(arr6);
</script>
<script type="text/babel">
class Animal {
constructor() {
this.type = "动物";
}
say(content) {
console.log(this.type + "说:" + content);
}
}
let animal = new Animal();
animal.say('你好');
class Cat extends Animal{
constructor() {
super();
this.type = "猫咪";
}
}
let cat = new Cat();
cat.say("喵喵喵");
</script>
<script type="text/babel">
function test1(a, b) {
b = b || 20;
console.log(a, b);
}
test1(1);
function test2(a, b = 20) {
console.log(a, b);
}
test2(1);
var test3 = function (i) {
return i + 1;
}
console.log(test3(2));
var test4 = (i) => i + 1;
console.log(test4(3));
var test5 = (i, j) => {
console.log(i + j + 1);
};
test5(5, 6);
function sum() {
var sum = 0;
for (var i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
console.log(sum(1, 2, 3, 4));
function sumPro(...values) {
let sum = 0;
for (let a of values) {
sum += a;
}
return sum;
}
console.log(sumPro(1, 2, 3, 4, 5));
</script>
</body>
</html>