react基础入门:原生JS基础测试

155 阅读2分钟

以下问题都是以es6为基础

一 基础

  • 有哪些数据类型?

字符串、数字、布尔、数组、对象、Null、Undefined

  • 有哪些定义变量的方式?

var、const、let

  • 怎么初始化一个数组?

const arr = [1, "a", new Date()];
  • 数组有哪些操作方法?

Array操作方法

  • 怎么初始化一个对象?

const obj = {
    age: 20,
    name: 'lily'};
  • 对象有哪些操作方法?

Object操作方法

  • 常用的全局变量及变量都有哪些?

全局函数及变量

  • Map数据类型常用的操作方法有哪些?

Map操作方法

  • Set数据类型常用的操作方法有哪些?

Set操作方法

  • 对象的解构?

const { age, name } = {        age: 20,        name: 'lily',        sex: '女'};    console.info({age, name}); // 输出结果:{age: 20, name: "lily"}

二 函数

  • 怎么定义一个函数?

const sayHello = (name) => {        console.info(`你好:${name}`);    
};

sayHello('lily'); // 输出结果:你好:lily
  • 怎么给函数默认值?

const sayHello = (name = 'def') => {        console.info(`你好:${name}`);    
};    
sayHello(); 
// 输出结果:你好:defsayHello('lily'); 
// 输出结果:你好:lilyconst sayHello = ({     name = 'def' } = {}) => {        console.info("你好:" + name);    
};

sayHello(); 
// 输出结果:你好:defsayHello({ name: 'lily' }); 
// 输出结果:你好:lily
  • 什么是异步?

console.info(1);setTimeout(() => {        console.info(2);    
}, 0);console.info(3);// 输出结果:1 3 2
  • 什么是回调函数?

const callback = (name) => {        console.info('callback 执行');            return name;
};    const exec = (name, nameFunc) => {        console.info(`exec 执行`);            console.info(`你好:${nameFunc(name)}`);    
};

exec('lily', callback); // 输出结果:你好:lily
  • 什么是闭包?

const nameFunc = (name) => {        console.info(`outFunc 执行`);        
    return (age) => {                       console.info(`姓名:${name},年龄:${age}`);        
    };
};

nameFunc('lily')(20); // 输出结果:姓名:lily,年龄:20
  • Promise的理解及其常用api都有哪些?

Promise常用方法

三 面向对象

  • 怎么创建一个类?

class User {

    constructor(name) {          console.info(`User 构造函数执行,创建 User 对象 name=${name}`);    }

};       const user = new User('lily'); 
// 输出结果: User 构造函数执行,创建 User 对象 name=lily
  • 类之间怎么继承?

class Human {

    constructor(age) {
        console.info(`Human 构造函数执行,创建 Human 对象 age=${age}`);
    }

}class User extends Human {

    constructor(age, name) {                super(age);        
        console.info(`User 构造函数执行,创建 User 对象 name=${name}`);
    }

};const user = new User(20, 'lily');    // 输出结果:Human 构造函数执行,创建 Human 对象 age=20// 输出结果:User 构造函数执行,创建 User 对象 name=lily

四 模块化

  • 怎么导出一个类或对象?

export const sayHello = (name) => {        console.info(`你好:${name}`);};export const obj = {            age: 20,            name: 'lily'};
  • 怎么引入一个类或对象?

// 方式 1import module1 from './module1';console.info(module1);// 方式 2import { sayHello, obj } from './module1';console.info(sayHello('lily'), obj);

五 网络

  • 怎么发起网络请求?

fetch(url, options).then(function(response) {        // handle HTTP response}, function(error) {        // handle network error});// 例子fetch(url, {
    method: "POST",
    body: JSON.stringify(data),
    headers: {            "Content-Type": "application/json"
    },
    credentials: "same-origin"}).then(function(response) {    response.status     //=> number 100–599        response.statusText //=> String        response.headers    //=> Headers        response.url        //=> String          return response.text()
}, function(error) {    error.message //=> String})