某公司前端面試題整理

  • 一、有一個鼠標點擊按鈕事件,alert,要求在執行完頁面某些操做(在點擊函數以外)後,再次點擊再也不有反映
ele.addEventListener("click",function(e){
     alert("xxx");
     //執行某些操做
     //解除綁定
     ele.removeEventListener("click")
 ,false)
  • 二、類數組和數組的區別?常見類數組?類數組API有哪些
類數組擁有length屬性
  可是類數組不能像數組同樣使用slice,splice,sort,reverse等數組的api,數組所具備的方法
  常見的類數組有arguments 和 querySelectAll返回值、getElementById等dom元素節點查詢返回值
  
  //判斷一個數組是不是類數組:
  function isArrayLike(o) {
      if (o &&                          
          typeof o === 'object'&&isFinite(o.length)&&o.length >= 0 &&o.length===Math.floor(o.length)&&o.length < 4294967296)            
          return true;                        
      else{
          return false;
      }
  類數組轉換爲數組:
  Array.prototype.slice.call(arrayLike)
  • 三、頁面佈局的方式有哪些
flex佈局,grid佈局,table佈局(如今基本不用了),div+css佈局
  • 四、原型鏈,fn A()如何繼承fn B()
es6: class A extend B{
          constructor(){
            super()
          }
       }
       
  es5: function A(){
         B.call(this)
       }

五、ng特色,優點php

使用ng主要是爲了減輕前端js代碼量,增長js的複用。並且ng是一個很炫的框架。
 一、angular使用了傳統的mvc開發模式
 二、數據綁定
 三、依賴注入
 四、模塊開發

六、你本身經常使用框架有哪些css

react、Vue、jquery、angular、extjs、
  • 1.有沒有用過webpack打包工具
webpack應該算是如今最主流,也最火熱的前端文件打包工具.
  
  webpack的使用依賴於node.js , 使用以前必須安裝好node 
  
  webpack主要就是用來分析你的項目結構,找到js模塊 瀏覽器不能直接運行的拓展語言(ts,scss,less...) 將其打包爲瀏覽器支持的語法.
  
  webpack可使整個項目模塊化,讓咱們能夠把複雜的程序細化爲小的文件
  
  webpack配置文件裏面有不少插件(plugin),插件是用來拓展webpack功能的,他們會在整個構建過程當中生效,執行相關的任務.
  
  webpack 配置文件裏也有loaders,loaders是在打包構建過程當中用來處理源文件的(JSX,Scss,Less..)一次處理一個。
  
  webpack有一個入口文件,並從這個文件中你的項目依賴的文件,進行分析處理,構建成爲想要的瀏覽器能夠識別的文件。
  • 2.如何設置手機端和電腦端訪問接口(如:客戶訪問網頁時,什麼時候展現手機版網頁,什麼時候展現pc端網頁)
//使用js經過UA來識別上是否爲移動端頁面,而後跳轉到移動界面
    var userAgentInfo = navigator.userAgent;
    var Agents = ["Android", "iPhone",
                "SymbianOS", "Windows Phone",
                "iPad", "iPod"];
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
            flag = false;//跳轉至移動端的頁面
            break;
        }
    }
    //不然是pc端頁面
  • 3.公司團隊成員,前端及後端人數,工做模式怎樣,公司用的後端語言是什麼?先後端如何協調工做
根據項目的大小劃分人數,先後端人數同樣多
  如今主流的後端開發語言:java、php、nodejs、python、ruby
  如今主流的開發模式都是先後分離開發,這樣能夠先後端進行接口制定後並行開發,後端負責接 口文檔(小公司可能沒有),待頁面和接口都寫完後,進行接口聯調
  • 4.cookie和storage的區別
cookie數據始終在同源的http請求中攜帶,cookie在瀏覽器和服務器間來回傳遞。
 sessionStorage和localStorage不會自動把數據發給服務器,僅在本地保存。
 cookie數據還有路徑(path)的概念,能夠限制cookie只屬於某個路徑下。
 存儲大小限制也不一樣,cookie數據不能超過4k,同時由於每次http請求都會攜帶cookie,因此cookie只適合保存很小的數據,如會話標識。
 sessionStorage和localStorage 雖然也有存儲大小的限制,但比cookie大得多,能夠達到5M或更大。
 sessionStorage:僅在當前瀏覽器窗口關閉前有效,天然也就不可能持久保持;
 localStorage:始終有效,窗口或瀏覽器關閉也一直保存,所以用做持久數據;
 cookie只在設置的cookie過時時間以前一直有效,即便窗口或瀏覽器關閉。
 做用域不一樣,sessionStorage不在不一樣的瀏覽器窗口中共享,即便是同一個頁面;
 localStorage 在全部同源窗口中都是共享的;
 cookie也是在全部同源窗口中都是共享的。
相關文章
相關標籤/搜索