天天看點

面試官的問題面試官的問題(前端)

面試官的問題(前端)

文章目錄

  • 面試官的問題(前端)
      • JS的資料類型?
      • 如何實作過濾?
      • get和set差別?
      • 寫一個js全局變量和局部變量?
      • var、let、const差別
      • == 和 === 差別
      • ES5、ES6 的 API有那些
      • 面向對象的了解?
      • js和箭頭函數有什麼差別,為什麼要用箭頭函數?
      • 數組去重
      • HTTP緩存

JS的資料類型?

5種簡單資料類型:String,Number,Boolean,Null,Undefined。
3種引用資料類型:Object,Array,Function。
           

如何實作過濾?

filter:
[link](https://segmentfault.com/q/1010000019239281/a-1020000019240274)
           

get和set差別?

get獲得,set設定
當你對象的屬性設為私有時,才有get與set方法,
get是對外部而言擷取對象屬性方法,
set是對外部而言設定對象屬性的方法
           

寫一個js全局變量和局部變量?

var a =0;      //全局變量
b =0;          //全局變量
function c() {
var d =0;      //局部變量
e =0;          //全局變量
return d;
}
console.log(a);   //0
console.log(b);    //0
console.log(c());  //0
console.log(e);    //0
console.log(d);   //出錯

[link](https://blog.csdn.net/qq_16909139/article/details/80348554)

全局變量和局部變量:
[link](https://www.cnblogs.com/lxzwhite/p/10187442.html)
           

var、let、const差別

let 為 ES6 新添加申明變量的指令,它類似于 var,但是有以下不同:

    var 聲明的變量,其作用域為該語句所在的函數内,且存在變量提升現象
    let 聲明的變量,其作用域為該語句所在的代碼塊内,不存在變量提升
    const聲明的變量不允許修改

           

== 和 === 差別

==, 兩邊值類型不同的時候,要先進行類型轉換,再比較
===,不做類型轉換,類型不同的一定不等。

==類型轉換過程:

如果類型不同,進行類型轉換
判斷比較的是否是 null 或者是 undefined, 如果是, 傳回 true .
判斷兩者類型是否為 string 和 number, 如果是, 将字元串轉換成 number
判斷其中一方是否為 boolean, 如果是, 将 boolean 轉為 number 再進行判斷
判斷其中一方是否為 object 且另一方為 string、number 或者 symbol , 如果是, 将 object 轉為原始類型再進行判斷

           

ES5、ES6 的 API有那些

[ES5](https://www.cnblogs.com/mingbo-zhang/p/10190812.html)
[ES6](http://es6.ruanyifeng.com/#docs/let)
[全](https://www.cnblogs.com/xhy-steve/p/5871182.html)
           

面向對象的了解?

面試總結之談談你對面向對象的了解
[link](https://blog.csdn.net/weixin_40066829/article/details/78111476)
           

js和箭頭函數有什麼差別,為什麼要用箭頭函數?

面試總結之談談你對箭頭函數的了解:
[link](https://blog.csdn.net/zhangjing0320/article/details/81589601)
           

數組去重

數組去重
let arr = [1,'1',2,'2',1,2,'x','y','f','x','y','f'];
function unique1(arr){
	let result = [arr[0]];
	for (let i = 1; i < arr.length; i++) {
		let item = arr[i];
		if(result.indexOf(item) == -1){
			result.push(item);
		}
	}
	return result;
}
console.log(unique1(arr));
複制代碼更多JS去重的方法JS數組去重
[link](http://xieyufei.com/2017/09/02/JS-Array-Remove-Duplicate.html)
[link](https://www.jianshu.com/p/f1e3b6ebf826)
           

HTTP緩存

[link](https://blog.csdn.net/u012194956/article/details/79575138)
           

正在面試中,持續更新…

接着上面繼續更新 …

先總結一個點

繼續閱讀