欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

快手实习 一面

程序员文章站 2022-06-09 12:50:53
...

1. flex布局相关 flex:1

  • 父容器和子容器的属性 要知道
  • 垂直水平居中相关
  • flex: flex-grow 0 flex-shrink 1 flex-basis auto
    flex:1 1,1,auto

2. 实参 形参

函数在声明的时候带的那个小括号里面的值就是形参,当我们调用的时候,传的参就是实参

function egFn(a,b) {
    // 一些代码
}
egFn(2,3)
function add(a, b) {
    a = 30
    return a + b;
}

console.log(add(10, 11)) // 41

let a = 1;
let b = 3; 
console.log(add(a,b)) // 33

3. 扩展运算符

箭头函数的arguments参数,用rest

function add1() {
    console.log(arguments[0])// 1
}

add1(1)

const add2 = (...rest) => {
    console.log(rest[0]) // 1
}

add2(1)

4. 数组 对象 解构

默认值

数组

let [foo = true] = [];
foo // true

let [x, y = 'b'] = ['a']; // x='a', y='b'
let [x, y = 'b'] = ['a', undefined]; // x='a', y='b'

ES6 内部使用严格相等运算符(===),判断一个位置是否有值。所以,只有当一个数组成员严格等于undefined,默认值才会生效。

let [x = 1] = [undefined];
x // 1

let [x = 1] = [null];
x // null

对象:

let { bar, foo } = { foo: 'aaa', bar: 'bbb' };
foo // "aaa"
bar // "bbb"

let { baz } = { foo: 'aaa', bar: 'bbb' };
baz // undefined

5. promise讲一下

6. function和箭头函数的区别 arguments

  • this的指向
  1. function定义的函数,this的指向随着调用环境的比那好而变化,
    箭头函数的指向固定的,一直指向的是定义函数的环境

  2. function可以new 箭头函数不能被new

  3. 函数申明存在遍历提升,箭头函数不存在比哪里提升

  4. .箭头函数不绑定arguments,取而代之用rest参数…解决

  5. 箭头函数没有函数原型

var a = ()=>{
  return 1;
}
function b(){
  return 2;
}
console.log(a.prototype);//undefined;
console.log(b.prototype);//object{...}
  1. 通过call()或者apply()调用一个函数时,只是传入参数而已,对this并没有影响。
var obj = {
  a:10,
  b:function(n){
   var f = (v) => v + this.a;
   var c = {a:20};
   return f.call(c,n);
 }
}
console.log(obj.b(1));//11

7. hooks react

8. 快排

var quickSort2 = function(arr) {
    if (arr.length <= 1) { return arr; }
    var pivotIndex = Math.floor(arr.length / 2);
    var pivot = arr.splice(pivotIndex, 1)[0];
    var left = [];
    var right = [];
    for (var i = 0; i < arr.length; i++){
        if (arr[i] < pivot) {
        left.push(arr[i]);
        } else {
        right.push(arr[i]);
        }
    }
    return quickSort2(left).concat([pivot], quickSort2(right));
};


let arr = [1, 4, 2, 6, 4, 9]
console.log(quickFn(arr))