每天10個js面試題(一)

1.js基本數據類型?

  • JavaScript 共有八種數據類型,分別是
  • Undefined、Null、Boolean、Number、String、Object、Symbol、BigInt。
  • 其中 Symbol 和 BigInt 是 ES6 中新增的數據類型

2.let、const、var的區別?

  • let和const有暫時性死區,var沒有
  • let和const聲明的變量具有塊級作用域,var沒有
  • let和const不可以重復聲明,var可以
  • const賦值后不可以重新賦值,let和var可以重新賦值
  • const必須有初始值、let和var不需要

3.數據類型檢測的方式有哪些?

  • typeof ? 除了null 的基本數據類型都能正確判斷,復雜數據類型判斷為object?
  • instanceof ? 可以正確判斷對象的類型,原理是判斷在其原型鏈中能否找到該類型的原型。
  • constructor ? 原理是通過構造函數來進行判斷
  • Object.prototype.toString.call ? 可以判斷所有數據類型

4.null 和 undefined 區別?

  • undefined 代表的含義是未定義
  • null 代表的含義是空對象
  • 一般變量聲明了但還沒有定義的時候會返回undefined
  • null 主要用于賦值給一些可能會返回對象的變量,作為初始化。

5.判斷一個對象為空對象的方式?

  • JSON.stringfy({})==='{}' (轉化為字符串對比)
  • object.keys({}).length===0(獲取對象的key數組的長度為0)
  • object.values({}).length===0 (獲取對象的value數組的長度為0)
  • object.hasOwnProptyName({}).length===0(獲取自身屬性數組長度為0)
  • 使用for in循環遍歷,在遍歷里返回false,外部返回true

6.箭頭函數和普通函數的區別?

  • 箭頭函數沒有自己的this
  • 箭頭函數不能使用關鍵字new,會報錯
  • 箭頭函數不能作為構造函數
  • 箭頭函數沒有prototype(原型)
  • 箭頭函數沒有arguments(參數列表)
  • 箭頭函數不能作為生成器函數

7.this指向?

  • this指向函數的直接調用者(而非間接調用者,也就是.前面的)
  • 如果有new關鍵字,this指向new出來的那個對象
  • 在事件中,this指向目標元素,特殊的是IE的attachEvent中的this總是指向全局對象window

8.什么是跨域?

????????跨域就是,從網頁去請求另一個域名的資源時,如果有域名、端口、協議其中一個不同,都會導致瀏覽器跨域。這是瀏覽器的一種保護機制。

常用解決方案:

  • 跨域資源共享(CORS)
  • nginx代理跨域?
  • nodejs中間件代理跨域
  • sonp跨域
  • postMessage

9.cookie和storage的區別?

  • 存儲大小不同,cookie空間只有4k,localStorage和SeesionStorage有5M
  • 生命周期不同,cookie可以設置生命周期,localstorage生命周期是永久,sessionstorage生命周期是會話級別,瀏覽器關閉就銷毀
  • 作用域不同,cookie前后端都可以修改,storage只用于前端? ??
  • cookie會自動攜帶在請求中,localStorage和SeesionStorage不會?

10.get和post的區別?

  • 請求方式不同,一種語意是獲取,一種是提交,通常在請求數據時用get,修改數據時用post
  • 參數位置不同,get 是在拼接在url后面,post是在請求體body里
  • 參數類型不同,get只能攜帶查詢字符串,post可以攜帶json、formdata格式還有其他格式
  • get參數長度有限制,post無限制
  • get是明文傳遞參數,post是密文,get不安全
  • get會被瀏覽器主動緩存,post不會

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40648.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40648.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40648.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

開源模型應用落地-LangChain高階-智能體探究-agent類型(一)

一、前言 大模型具有非常強大的功能,可以解答疑問、撰寫報告和文檔、總結內容、進行翻譯等各種日常工作任務。然而,大模型還可以應用于更多的場景,發揮出更強大的作用。 通過智能體,我們可以實現許多有價值的事情,比如:在日常生活中,我們能借助智能體實現智能家居的自動化…

【滲透入門】SQL注入

聲明:本文檔或演示材料僅供教育和教學目的使用,任何個人或組織使用本文檔中的信息進行非法活動,均與本文檔的作者或發布者無關。 文章目錄 什么是sql注入sql注入舉例防御方式練習靶場 什么是sql注入 SQL注入是一種網絡安全漏洞,攻…

【Android源碼】Gerrit安裝

前言 如果你打開 https://android.googlesource.com/platform/manifest,就會發現,google官方管理Android源碼,使用的是Gerrit。Android系統源碼是非常大的,用Git肯定是不適合。對于大型項目,得用Gerrit,今…

NoSQL之Redis高可用與優化

一、Redis高可用 在web服務器中,高可用是指服務器可以正常訪問的時間,衡量的標準是在多長時間內可以提供正常服務(99.9%、99.99%、99.999%等等)。 但是在Redis語境中,高可用的含義似乎要寬泛一些,除了保證…

二叉樹的鏈式訪問 與 二叉樹專題

目錄 二叉樹的前、中、后序遍歷求二叉樹第K層節點的個數二叉樹查找值為x的節點leetcode相同的樹對稱二叉樹二叉樹的前序遍歷另一棵子樹牛客 二叉樹的遍歷 二叉樹的前、中、后序遍歷 1.前序遍歷:先訪問根節點,再訪問左子樹,最后訪問右子樹 根…

【備忘】fastadmin 如何獲取列表選中行的pk

去官方搜沒搜出來,還得是萬能的網友厲害。 //獲取選中項 $(document).on("click", ".btn-selected", function () {// 獲取選中項idsconsole.log(JSON.stringify(Table.api.selectedids(table)));// 獲取選中項所有數據console.log(JSON.strin…

輸入一個整數n,輸出n的約數為質數的數?兩個問題n的約數問題和n的質數問題

輸入一個整數n,輸出n的約數為質數的數? 一.首先解決n的質數的問題(1)枚舉法(2)埃氏篩 二.解決n的質數約數問題 一.首先解決n的質數的問題 (1)枚舉法 考慮質數的定義:在大…

conda中創建環境并安裝tensorflow1版本

conda中創建環境并安裝tensorflow1版本 一、背景二、命令三、驗證一下 一、背景 最近需要使用tensorflow1版本的,發個記錄! 二、命令 conda create -n tf python3.6 #創建tensorflow虛擬環境 activate tf #激活環境,每次使用的時候都…

理解策略梯度方法:從REINFORCE到PPO

今年2月的時候,導師突然告訴我Ron William離世了。他算是我導師的 a life time friend,關系很好,我做畢業論文的時候,他還來參與了論文的答辯。Ron是一個很友善的老頭,和他在強化學習領域的影響力比起來,本…

汽車信息安全--數據安全:圖像脫敏

General 隨著車聯網的發展,汽車越來越智能化,就像是一部“裝著四個輪子的手機”。 有人說,智能手機就如同一部竊聽器,無論你開機或者關機,它都會無時不刻地監聽著用戶的一舉一動。 可想而知,智能車輛上…

馬工程刑法期末復習筆記重點2

馬工程刑法期末復習筆記重點2

SpringBoot 參數校驗

參數校驗 引入springvalidation依賴 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency>參數前添加Pattern public Result registry(Pattern(regexp &qu…

Java面向對象練習(2.商品類)(2024.7.4)

商品類 package Supermarket20240704;public class Commodity {private String name;private double price;private int inventory;public Commodity(){};public Commodity(String name, double price, int inventory){this.name name;this.price price;this.inventory inv…

Java核心技術【十九】Iterator與增強for循環

Java中的Iterator與增強for循環 在Java編程中&#xff0c;迭代是處理集合元素的一種常見操作。Java提供了多種迭代集合元素的方式&#xff0c;其中最常用的兩種是Iterator和增強for循環&#xff08;也稱為“for-each”循環&#xff09;。本文將深入探討這兩種迭代方式的特性和…

CLAM用于弱監督WSI分析

計算病理學&#xff08;computational pathology&#xff09;下的深度學習方法需要手動注釋大型 WSI 數據集&#xff0c;并且通常存在領域適應性和可解釋性較差的問題。作者報告了一種可解釋的弱監督深度學習方法&#xff0c;只需要WSI級標簽。將該方法命名為聚類約束注意力多實…

Perl 格式化輸出:提升代碼可讀性的技巧

引言 Perl 是一種功能強大的腳本語言&#xff0c;廣泛用于文本處理、系統管理、網絡編程等多個領域。在 Perl 編程中&#xff0c;代碼的格式化輸出不僅有助于提升代碼的可讀性&#xff0c;還能增強程序的用戶體驗。本文將詳細介紹如何在 Perl 中實現代碼的格式化輸出。 Perl …

【HarmonyOS4學習筆記】《HarmonyOS4+NEXT星河版入門到企業級實戰教程》課程學習筆記(二十一)

課程地址&#xff1a; 黑馬程序員HarmonyOS4NEXT星河版入門到企業級實戰教程&#xff0c;一套精通鴻蒙應用開發 &#xff08;本篇筆記對應課程第 31 節&#xff09; P31《30.數據持久化-關系型數據庫》 上一節中學習了使用用戶首選項的方式實現數據持久化&#xff0c;但用戶首…

微機原理 選擇題

D C MOV、PUSH、POP、XLAT&#xff08;查表&#xff09;、IN、OUT不影響標志位 D B D C D C D B 1. (單選題, 5分)8位無符號數(字節)表示的數值范圍是( ), 16位無符號數(字)表示的數值范圍是( )。 A. 0~128 0~32768B. 0~255 0~655…

為什么 npm run serve 正常,npm run build 就報錯:digital envelope routines::unsupported

這個錯誤通常與 Node.js 版本和使用的加密算法有關。讓我解釋一下原因和可能的解決方案&#xff1a; 錯誤原因 這個錯誤&#xff08;“error:0308010C:digital envelope routines::unsupported”&#xff09;通常發生在以下情況&#xff1a; 使用較新版本的 Node.js&#xf…

Vscode快捷鍵崩潰

Vscode快捷鍵崩潰 Linux虛擬機下使用vscode寫代碼【ctrlA&#xff0c;CtrlC&#xff0c;CtrlV】等快捷鍵都不能使用&#xff0c;還會出現“NO text insert“等抽象的指令&#xff0c;問題就是不知道什么時候裝了一個VIM插件&#xff0c;讓他滾出電腦》》》