一些未分类的问题

一些未分类的问题

==true

let a = true;
a == true;// true
a == 'true'; // false

let b = 'true';
b == true;// false
b == 'true'; // true

箭头函数

  • 返回对象简写
const fn = name => ({name})
  • 箭头函数没有arguments
  • 可以像普通函数一样使用...args
const fn = (...args) => console.log(args) //参数组成的数组
  • 箭头函数不会创建自己的this,只会从上一层的作用域链沿用this

js前面必须加;的情况

  1. 立即执行函数
(function t() {

});
// 或者
;(function t() {

})()
  1. 数组结构
//数组开头的,特别是前面有语句的一定要加;
;[b, a] = [a, b]

// eg
let a = 1
    [1, 2, 3].forEach(item => console.log(item))//报错,因为前面没有;号

结构赋值

数组结构

let [a = 0, b = 0, ...c] = [1, 2, 3, 4, 5]
console.log(a);// 1
console.log(b);// 2
console.log(c);// [3,4,5]
//按需导入赋值
let [a, b, , d] = [1, 2, 3, 4, 5]
console.log(a);// 1
console.log(b);// 2
console.log(d);//4
//多维数组结构
let [a, b, [c, d]] = [1, 2, [3, 4, 5]]
console.log(a);// 1
console.log(b);// 2
console.log(c);// 3
console.log(d);//4

对象解构

  • 前面大括号里的变量名必须和右侧对象的属性名相同
let {a, b} = {a: 1, b: 2};
  • 可起别名
let {a: aa, b: bb} = {a: 1, b: 2};
  • 多级对象解构
let obj = {
    a: 1,
    b: {
        c: 2,
        d: 4
    }
}
let {a, b: {c, d}} = obj;// 可打印出a,c,d

  • 函数传参时也可以使用解构
let a = {a: 1, b: 2}

function fn({a, b:bb}) {
    console.log(a, bb); // 1 2
}

fn(a)

数组对象解构

let arrobj = [{a: 1, b: 2}];
let [{a, b}] = arrobj;

new 干了什么事

  1. 创建一个空对象
  2. 将构造函数的this指向这个空对象
  3. 执行构造函数代码,一步一步完善空对象的属性和方法
  4. 返回这个空对象

构造函数的静态成员

function Fn(name) {
    this.name=name
}
Fn.age=222//静态成员
let person=new Fn('刘')
console.log(person.age)//undefined
posted @   风紧·扯呼  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示