前端知识点--个人总结

127 阅读2分钟

目录

1. JavaScript
2. Html
3. Css
4. Angular
5. Rxjs
6. ES6
7. TypeScript
8. Lodash

1. JavaScript

1. 变量提升

首先函数声明比变量要高
特性:声明提前:一个声明在函数体内都是可见的,函数声明优先于变量声明;
        var b = 10;
        (function b() {
          b = 20;
          console.log(b)
        })()
        以上输出结果
        =========
        几个例子:

        var b = 10;
        (function b() {
           // 内部作用域,会先去查找是有已有变量b的声明,有就直接赋值20,确实有了呀。发现了具名函数 function b(){},拿此b做赋值;
           // IIFE的函数无法进行赋值(内部机制,类似const定义的常量),所以无效。
          // (这里说的“内部机制”,想搞清楚,需要去查阅一些资料,弄明白IIFE在JS引擎的工作方式,堆栈存储IIFE的方式等)
            b = 20;
            console.log(b); // [Function b]
            console.log(window.b); // 10,不是20
        })();
        所以严格模式下能看到错误:Uncaught TypeError: Assignment to constant variable

        var b = 10;
        (function b() {
          'use strict'
          b = 20;
          console.log(b)
        })() // "Uncaught TypeError: Assignment to constant variable."
        其他情况例子:

        有windowvar b = 10;
        (function b() {
            window.b = 20; 
            console.log(b); // [Function b]
            console.log(window.b); // 20是必然的
        })();
        有var:

        var b = 10;
        (function b() {
            var b = 20; // IIFE内部变量
            console.log(b); // 20
           console.log(window.b); // 10 
        })();
var a = 10;
(function () {
	console.log(a)
	a = 5
	console.log(window.a)
	var a = 20
	console.log(a)
})()

// undefined
// 10
// 20
2. 作用域
3. 继承

4. EventLoop

第172题:JS 异步笔试题,请写出下面代码的运行结果(哔哩哔哩) · Issue #471 · Advanced-Frontend/Daily-Interview-Question · GitHub

var date = new Date() 

console.log(1, new Date() - date) 

setTimeout(() => {
    console.log(2, new Date() - date)
}, 500) 

Promise.resolve().then(console.log(3, new Date() - date)) 

while(new Date() - date < 1000) {} 

console.log(4, new Date() - date)
5. 基本语法
7. this
8. 闭包
9. 防抖和节流
10. new

2. Html

1. 新增标签
2. 区分块元素,行内块元素,非块级元素
3. 重绘,回流
4. 同源策略
5. http 请求码
6.
7. 
8. 
8. 

3. Css

1. 预编译
2. flex
3. em, rem, px, dd, 百分比
4. bootstrap3 和 4
5. 水平垂直居中
6. 动画 
7. position, relactive, absulote, fixed, static
8. 伪类

4. ES6

1. 默认值
2. 解构
3. 新增方法
4. Promise
5. 模块
6. let, const, var
7. 
8.