1. PS+React+webpack|教育中台pc 60%+ HTML5移动端 20% + nodejs10%;
  2. 进程是资源分配的基本单位,线程是执行的最小单位,同一进程不同线程可以共享进程资源。线程间切换效率更高;
  3. This指向:使用new操作符时,构造函数内的this就指向相应的实例化对象,即绑定this和返回对象;未使用new操作符时,为普通函数调用,全局函数内的this指向window,this没有绑定。
    图片说明
    图片中:
  • 语句 var a = Person('Tom') 将全局范围内的name变量改成了 Tom,故Person中的console.log(this.name)console.log(name)都输出为Tom。
  • Person("Tom") 相当于只是执行Person函数,里面没有返回值,所以console.log(a)的输出为undefined。
  • 语句 var b = new Person('Michael') 使构造函数内的this指向相应的实例化对象,所以在console.log(b)时输出Person实例,即Person { name: 'Michael' }
    输出结果:
    Tom
    Tom
    undefined
    Michael
    Person { name: 'Michael' }
  1. 继承
    图片说明
  • ES6中的class继承将父类的原型对象作为了子类的原型对象的原型对象,所以
    B.prototype.__proto__ === A.prototype; b.__proto__.__proto__ === A.prototype
    输出结果:
    A.prototype
    B.prototype
    A
    A.prototype
    A.prototype
  1. 水平和垂直居中
    // flex实现
    .father{
                 display: flex;
                 justify-content: center;
                 align-items: center;
             }
    // 利用绝对布局
    .father{
                 position: relative;
             }
             .son{
                 position: absolute;
                 left: 50%;
                 top: 50%;
                 transform: translate(-50%, -50%);
             }
    // 同绝对布局
    .father{
                 position: relative;
             }
             .son{
                 position: absolute;
                 left: 0;
                 top: 0;
                 right: 0;
                 bottom: 0;
                 margin: auto;
             }
    
5. switch case

var x = 0;
switch(++x){此时x=1,所以进入到case 1
case 0: ++x;
case 1: ++x;此时x=2,由于此处没有break,所以并没有跳出switch,所以顺序执行case 2,这时 ++x = 3
case 2: ++x;
}

输出结果:3
6.Object.keys() 方***返回一个由一个**给定对象**的**自身可枚举属性**组成的**数组**,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 。
- 传入对象, 返回包含对象**可枚举属性和方法**的数组

var obj = {'name': 'xiaoming', 'age': 18};
console.log(Object.keys(obj)); // ["name","age"]

- 传入字符串,返回索引值

var str = "Beijing"; 

console.log(Object.keys(str));
// ["0", "1", "2", "3", "4", "5", "6"]

- 传入数组,返回索引值
var arr = ["a", "b", "c"];
console.log(Object.keys(arr));
//["0", "1", "2"]
  • 构造函数,返回空数组或者属性名
    function Demo(name, age) {
    this.name = name;
    this.age = age;
    }
    console.log(Object.keys(Demo));
    // []
  1. JS之隐式类型转换实例代码

  2. JavaScript parseInt()用法实例

  3. 深浅拷贝实现