ES6面试题
面试题:var、let、const区别
var、let、const 共同点都是可以声明变量的
区别一: var 具有变量提升的机制 let和const没有变量提升的机制 区别二: var 可以多次声明同一个变量 let和const不可以多次声明同一个变量 区别三: var、let声明变量的 const声明常量 var和let声明的变量可以再次赋值,但是const不可以再次赋值了。 区别四: var声明的变量没有自身作用域 let和const声明的变量有自身的作用域
|
面试题:作用域考题
考题一:let和const没有变量提升性
console.log( str ); var str = '你好';
console.log( num ); let num = 10;
|
考题二:
function demo(){ var n = 2; if( true ){ var n = 1; } console.log( n ); } demo();
function demo(){ let n = 2; if( true ){ let n = 1; } console.log( n ); } demo();
|
考题三:可以修改
const obj = { a:1 } obj.a = 11111; console.log( obj )
const arr = ['a','b','c']; arr[0]= 'aaaaa'; console.log( arr );
|
面试题:将下列对象进行合并
方式一:Object.assign
const a = {a:1,b:4}; const b = {b:2,c:3};
let obj1 = Object.assign(a,b); console.log( obj1 );
|
方式二:…
let obj2 = {...a,...b}; console.log( obj2 );
|
方式三:自己封装方法
function extend( target, source ){ for(var key in source){ target[key] = source[key]; } return target; } console.log( extend(a,b) );
|
面试题:箭头函数和普通函数有什么区别?
1. this指向的问题 箭头函数中的this只在箭头函数定义时就决定的,而且不可修改的(call、apply、bind) ****箭头函数的this指向定义时候、外层第一个普通函数的this 2. 箭头函数不能new(不能当作构造函数) 3. 箭头函数prototype 4. 箭头函数arguments
|
面试题:Promise有几种状态
有三种状态: pending(进行中) fulfilled(已成功) rejected(已失败)
|
面试题:find和filter的区别
区别一:返回的内容不同 filter 返回是新数组 find 返回具体的内容 区别二: find :匹配到第一个即返回 filter : 返回整体(没一个匹配到的都返回)
|
面试题:some和every的区别
some ==》 如果有一项匹配则返回true every ==》 全部匹配才会返回true
|
版权声明: 此文章版权归十七所有,如有转载,请注明来自原作者