学的这个视频,用来预习字节青训营前端题

# 模版字符串

const username = "john";
const age = 30;
console.log("My name is " + username + " and my age is " + age);
const a = `My name is ${username} and my age is ${age}`;
console.log(a);

都能打印 My name is john and my age is 30

# 字符串内置方法

const s = "Hello world!";
console.log(s.length);    //12
console.log(s.toUpperCase());//HELLO WORLD!
console.log(s.toLowerCase());//hello world!
console.log(s.substring(0, 5).toLowerCase());//hello
const b = "computer, science, it, lmao";
console.log(b.split(", "));//(4) ['computer', 'science', 'it', 'lmao']

# 数组

const numbers = new Array(1, 2, 3, 4, 5);
console.log(numbers);//(5) [1, 2, 3, 4, 5]

好自由的数组,喜欢喵

const fruits = new Array("apple", "pear", "orange", 1, 2, a, true);
console.log(fruits);//(7) ['apple', 'pear', 'orange', 1, 2, 'My name is john and my age is 30', true]
console.log(fruits[1]);//pear
fruits[3] = "grape";
fruits[8] = "false"
console.log(fruits);//(9) ['apple', 'pear', 'orange', 'grape', 2, 'My name is john and my age is 30', true, 空白,'false']
console.log(typeof fruits[7]);//undefined

后面加入

numbers.push(6);
console.log(numbers);//(6) [1, 2, 3, 4, 5, 6]

前面加入

numbers.unshift(0);
console.log(numbers);//(7) [0, 1, 2, 3, 4, 5, 6]

前面提出

numbers.shift();
console.log(numbers);//(6) [1, 2, 3, 4, 5, 6]

后面提出

numbers.pop();
console.log(numbers);//(5) [1, 2, 3, 4, 5]

反转

numbers.reverse();
console.log(numbers);//(5) [5, 4, 3, 2, 1]

判断是否为数组

console.log(Array.isArray(fruits));//true
console.log(Array.isArray(a));//false
console.log(Array.isArray('fruits'));//false

数组中某元素的位置

console.log(fruits.indexOf("orange"))//2
console.log(fruits.indexOf("qwq"))//-1 数组里面没有 qwq 元素

# 对象

const person = {
  firstName: "john",
  lastName: "Doe",
  age: 30,
  hobbies: ["music", "computer", "gaming"],
  address: {
    streets: "50 main st",
    city: "Newyork",
    state: "NY",
  }
};
console.log(person)//{firstName: 'john', lastName: 'Doe', age: 30, hobbies: Array(3), address: {…}}
console.log(person.firstName, person.lastName)//john Doe
console.log(person.hobbies[1])//computer
console.log(person.address.state);//NY
const {
  firstName, lastName, address: { city },
} = person;
console.log(city);//Newyork
person.email = "[email protected]"
console.log(person.email)//[email protected]

# 对象数组和 json

const todos = [
  {
    id: 1,
    text: "Take out trash",
    isCompleted: true,
  },
  {
    id: 2,
    text: "Meeting with boss",
    isCompleted: true,
  },
  {
    id: 3,
    text: "Gaming",
    isCompleted: false,
  },
]
console.log(todos[1].text);//Meeting with boss

转换为 JSON

const todoJSON = JSON.stringify(todos);
console.log(todoJSON);//[{"id":1,"text":"Take out trash","isCompleted":true},{"id":2,"text":"Meeting with boss","isCompleted":true},{"id":3,"text":"Gaming","isCompleted":false}]

# if,switch,for,while

if 和 C 一样

const x = "10";
if(x==10){
  console.log("x is 10");//this
}else{
  console.log("x is not 10");
}

三等号保证数据类型相同

if(x===10){
  console.log("x is 10");
}else{
  console.log("x is not 10");//this
}

三目运算符和 C 一样

const p=10;
const color=x>10?"red":"blue";
console.log(color);//blue

switch 和 C 一样用

for (let yyy of todos){
  console.log(yyy.id);
}//123

相当于

for(let i=0;i<todos.length;++i){
  console.log(todos[i].id);
}

# 函数

let c = 1;
function add(x) {
  c = c + x;
}
add(9)
console.log(c);//10

# 闭包

function makeAdder(a){
  return function(b){
    return a+b;
  };
}
let d = makeAdder(5);
let sum =d(6);
console.log(sum);//11

# 总结

诶怎么感觉就学了 let 、const、console.log () 和 function 呢。。。其他有 C++ 和 python 的影子

破案了,原来都是基础语法,不过应该够应付一下算法题 (