前端面試題JavaScript篇——2022-09-08

来源:https://www.cnblogs.com/bidong/archive/2022/09/08/16669896.html
-Advertisement-
Play Games

每日3題 28 以下代碼執行後,控制臺中的輸出內容為? function showCase(value){ switch(value){ case 'A': console.log('case A'); break; case 'B': console.log('case B'); break; c ...


每日3題

28 以下代碼執行後,控制臺中的輸出內容為?

function showCase(value){
    switch(value){
        case 'A':
            console.log('case A');
            break;
        case 'B':
            console.log('case B');
            break;
        case undefined:
            console.log('undefined');
            break;
        default:
            console.log('Do not know');
            
    }
}
 
showCase(new String('A'));

29 以下代碼執行後,控制臺中的輸出內容為?

function f(){}
const a = f.prototype,
      b = Object.getPrototypeOf(f);
 
console.log(a===b);

30 以下代碼執行後,控制臺中的輸出內容為?

console.log(typeof null)
console.log(null instanceof Object)

公眾號【今天也要寫bug】更多前端面試題

答案與解析

28

// 答案:Do not know
// 考察基本字元串、字元串對象和 switch
// 字元串字面量是 string 類型
// 字元串對象是 object 類型
// switch 使用嚴格運算符(===)來進行比較
// 在下麵 switch case 沒有匹配的 case,因此走的是 default
function showCase(value) {
  switch (value) {
    case "A":
      console.log("case A");
      break;
    case "B":
      console.log("case B");
      break;
    case undefined:
      console.log("undefined");
      break;
    default:
      console.log("Do not know");
  }
}

showCase(new String("A"));

29

// 答案:false
// 考察原型鏈
// 函數本身也是對象
// 函數作為對象,是new Function 構造函數產生的,所以 f.__proto__ => Function.prototype
// 函數的 f.prototype 則預設是一個空對象,和 f.__proto__ 沒有關係
function f() {}
const a = f.prototype,
  b = Object.getPrototypeOf(f);

console.log(a === b);
// Object.getPrototypeOf 方法返回對象的原型對象即 f.__proto__
// f.prototype 不等於 f.__proto__
// 最終輸出 false

30

// 答案:object false
// 考察 typeof、instanceof、原型鏈
console.log(typeof null); // 記住就好了 typeof null 為 object
console.log(null instanceof Object);
// instanceof運算符用於檢測構造函數(右邊)的 prototype 屬性是否出現在實例對象(左邊)的原型鏈上
// null 是原型鏈的終點,Object.prototype 當然不會出現在 null 的原型鏈上


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 2022-09-08 分組函數 1、按照某個欄位分組並查詢(group by) 以"students"表(id,name,age,gender,is_del,height)為例: select gender from students group by gender; 說明:格式:select 欄位 ...
  • 上一篇文章詳細給大家介紹了標簽的設計與加工,在標簽生命周期流程中,標簽體系設計完成後,便進入標簽加工與上線運行階段,一般來說數據開發團隊會主導此過程,但我們需要關心以下幾個問題: ·標簽如何快速創建和實現標簽邏輯的線上化管理 ·業務人員怎麼參與到標簽建設流程中 ·百萬級別的標簽如何落表 一、加工方式 ...
  • Hello,大家好,我是烤鴨,這幾天消失了一下,主要是線上系統出了點小bug和sql性能問題,在努力搬磚,就把之前的設計模式系列放了一下下,正好趁這個複習鞏固了一下sql執行計劃和sql優化等相關的東西,本篇文章我主要用來學習mysql的執行計劃和索引分類,也和大家分享下吧,也請大神們不吝賜教。 先 ...
  • 摘要:執行引擎一般負責查詢的執行,執行引擎在SQL執行棧中起到接收優化器生成的執行計劃Plan、並對通過存儲引擎提供的數據讀寫介面,實現對數據進行計算得到查詢的結果集。 本文分享自華為雲社區《openGauss內核分析(七):SQL by pass & 經典執行器》,作者:Gauss松鼠會 。 執行 ...
  • 資料庫 SQL SERVER 2008,連接時報:[IM002]Navicat ODBC驅動器管理器 未發現數據源名稱並且未指定預設驅動程式 到安裝目錄下找到 sqlncli_x64.mis 雙擊安裝 下一步,直到安裝完成 ...
  • 1. 參考https://ask.dcloud.net.cn/article/36937: 增加如下參考條款 我們的產品基於DCloud uni-app(5+ App/Wap2App)開發,應用運行期間需要收集您的設備唯一識別碼(IMEI/android ID/DEVICE_ID/IDFA、SIM ...
  • 華為開發者聯盟和艾瑞咨詢聯合發佈《2022年移動應用技術趨勢白皮書》,本白皮書通過盤點國內移動應用發展環境、熱門技術創新動態,分析影響移動應用發展的技術趨勢,以及細分應用領域的技術創新熱點,洞悉開發者所面臨的挑戰和機遇,幫助開發者釐清不斷發展的技術局面,提供可落地的行業洞察。 華為開發者聯盟一直致力 ...
  • Math對象 Math對象,不是一個構造函數,所以我們不需要new 來調用,而是直接使用裡面的屬性和方法即可,它具有數學常數和函數的方法,跟數學相關的運算(求絕對值,取整,最大值等)可以使用Math中的成員。 1.Math絕對值和三個取整的方法: 2.Math隨機數方法 Math對象隨機數方法:ra ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...