js面試題2024

  • 1.js的數據類型

boolean number string null undefined bigint symbol object
按存儲方式分,前面七種為基本數據類型,存儲在棧上,object是引用數據類型,存儲在堆上,在棧中存儲指針
按es標準分,bigint 和symbol是es6新增的數據類型,bigint存儲大整數,symbol解決全局屬性名沖突的問題

  • 2.js數據類型檢測的方式
typeof 2 //number
typeof true //boolean
typeof 'srt' //string
typeof undefined //undefined
typeof null //object
typeof 1n //bigint
typeof Symbol() //symbol
typeof {} //object
typeof [] //object
typeof function(){} //functionObject.prototype.toString().call()([] instanceof Array)
(function(){} instanceof Function)
({} instanceof Object)
//instanceof只能用于對象,返回布爾值(2).constructor===Number//true(true).constructor===Boolean//true
  • 3.判斷數組類型的方式有那些
//1.通過原型判斷
const a=[]
const b={}
a instanceof Array
Array.prototype.isPrototypeOf(a)
a.__proto__===Array.prototype
//2.通過object.prototype.tostring.call()
const a=[]
Object.prototype.toString().call(a)
//3.es6的array.isarray()
Array.isArray(a)
  • 4.null和undefined的區別

undefinde代表為定義,變量聲明了但未初始化是未定義
null代表空對象,一般用作某些對象變量的初始化值
undefined==void 0
typeof null=object null的地址是0和對象的地址相同

    1. 0.1+0.2!==0.3
// 方法一:放大10倍之后相加在縮小十倍
//方法二:封裝浮點數相等的函數
function feg(a,b){return Math.abs(a-b)<Number.EPSILON
}
feg(0.1+0.2,0.3)
  • 6.空類型
[]==false//true
Boolean([])//true
Number([])//0
  • 7.包裝類型
const a='abc'
a.length//3
a.toUpperCase()//'ABC'
const c=Object('abc')
const cc=Object('abc').valueOf()
  • 8.new做了什么工作

1.創建了一個新的空對象object
2.將新空對象與構造函數通過原型鏈連接起來
3.將構造函數中的this綁定到新建的object上并設置為新建對象result
4.返回類型判斷

function MyNew(fn,...args){const obj={}obj.__proto__=fn.prototypelet result=fn.apply(obj,args)return result instanceof Object?result:obj
}
function Person(name,age){this.name=namethis.age=age
}
Person.prototype.sayHello=function(){console.log(this.name)
}
const person=MyNew(Person,'test',20)
person.sayHello()
  • 9.繼承
//1.原型鏈繼承function Sup(){this.prop='sup'}Sup.prototype.show=function(){}function Sub(){this.prop='sub'}Sub.prototype=new Sup()Sub.prototype.constructor=SubSub.prototype.show=function(){}
//2.構造函數繼承function Person(name,age){this.name=namethis.age=age}function Student(name,age,price){Person.call(this,name,age)this.price=price}
//3.原型鏈加構造函數function Person(name,age){this.name=namethis.age=age}Person.prototype.show=function(){}function Student(name,age,price){Person.call(this,name,age)this.price=price}Student.prototype=new Person()Student.prototype.constructor=PersonStudent.prototype.show=function(){}//4.class extendsclass Animal{constructor(kind){this.kind=kind}}class Cat extends Animal{constructor(kind) {super.constructor(kind);}}
  • 10.深拷貝
    function deep(p,c){let c = c||{}for(let i in p){if(typeof p[i]==='object'){c[i]=p[i].constructor=='Array'?[]:{}deep(p[i],c[i])}else{c[i]=p[i]}}return c}

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

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

相關文章

PHP框架講解 - symfony框架

Symfony 框架概述 Symfony 是一個用于構建 web 應用的 PHP 框架&#xff0c;它遵循 MVC&#xff08;模型-視圖-控制器&#xff09;模式&#xff0c;并且具有高度的可定制性。Symfony 是一個組件庫&#xff0c;它提供了許多用于構建現代 web 應用的工具和功能。以下是對 Symfon…

布隆過濾器 redis

一.為什么要用到布隆過濾器&#xff1f; 緩存穿透&#xff1a;查詢一條不存在的數據&#xff0c;緩存中沒有&#xff0c;則每次請求都打到數據庫中&#xff0c;導致數據庫瞬時請求壓力過大&#xff0c;多見于爬蟲惡性攻擊因為布隆過濾器是二進制的數組&#xff0c;如果使用了它…

FLD工作日志

在FLD的工作日志 一、技能掌握楊總經驗的傳輸 一、技能掌握 06.12 學會如何看小產品的代碼&#xff0c;看的消毒燈 07.08 1.學會嘉立創eda 楊總經驗的傳輸 07.07 什么能做就做什么&#xff0c;一刻也不要停不要看不起簡單的事情&#xff0c;量變引起質變

科普文:K8S中常見知識點梳理

簡單說一下k8s集群內外網絡如何互通的 要在 Kubernetes&#xff08;k8s&#xff09;集群內外建立網絡互通&#xff0c;可以采取以下措施&#xff1a; 使用service&#xff1a; 使用Service類型為NodePort或LoadBalancer的Kubernetes服務。這可以使服務具有一個公共IP地址或端口…

怎么發頂會論文

AI頂會論文成功發表路徑四&#xff1a;寫作關_嗶哩嗶哩_bilibili 全集都有&#xff0c;隨手記錄一下。 講的很好&#xff0c;我多努力。努力靠近一下。

Open3D 計算點云的平均密度

目錄 一、概述 1.1基于領域密度計算原理 1.2應用 二、代碼實現 三、實現效果 2.1點云顯示 2.2密度計算結果 一、概述 在點云處理中&#xff0c;點的密度通常表示為某個點周圍一定區域內的點的數量。高密度區域表示點云較密集&#xff0c;低密度區域表示點云較稀疏。計算…

Redis連接Resp圖形化工具和springboot

Redis連接Resp圖形化工具和springboot 1.redis配置1.1 備份、修改conf文件1.2 Redis的其它常見配置&#xff1a;1.3 啟動Redis&#xff1a;1.4 停止服務&#xff1a;1.5 開機自啟&#xff1a; 2. resp的安裝、配置和連接&#xff1a;2.1 GitHub上下載2.2 開始連接redis ![在這里…

Java 集合框架:Java 中的 Set 集合(HashSet LinkedHashSet TreeSet)特點與實現解析

大家好,我是栗箏i,這篇文章是我的 “栗箏i 的 Java 技術棧” 專欄的第 017 篇文章,在 “栗箏i 的 Java 技術棧” 這個專欄中我會持續為大家更新 Java 技術相關全套技術棧內容。專欄的主要目標是已經有一定 Java 開發經驗,并希望進一步完善自己對整個 Java 技術體系來充實自…

運營商二三要素是什么?有什么意義

運營商的二要素和三要素通常指的是在用戶身份驗證過程中所使用的關鍵信息。這些要素在保障用戶信息安全、防止詐騙犯罪、維護社會秩序等方面具有重要意義。 運營商二要素 運營商二要素指的是在身份驗證過程中&#xff0c;需要驗證的兩個關鍵信息&#xff0c;通常是&#xff1a…

C++初探究

概述 C可以追溯到1979年&#xff0c;C之父Bjarne Stroustrup在在使用C語言研發工作時發現C語言的不足&#xff0c;并想要將其改進&#xff0c;到1983年&#xff0c;Bjarne Stroustrup在C語言的基礎上添加了面向對象編程的特性&#xff0c;設計出了C的雛形。 網址推薦 C官方文…

Docker:WARNING: Published ports are discarded when using host network mode 解決方法

在Docker中&#xff0c;使用主機網絡模式&#xff08;host network mode&#xff09;時&#xff0c;容器將共享主機的網絡命名空間&#xff0c;這意味著容器將直接使用主機的網絡接口和端口。因此&#xff0c;當你嘗試通過Docker的發布端口功能&#xff08;publish a port&…

如何在uniapp中使用websocket?

websocket是我們經常使用到的接口,通常用于即時通訊以及K線圖這種需要實時更新數據的業務需求上,傳統的restful接口雖然可以滿足,但是你需要輪詢,這就要額外寫一堆代碼,不是很方便,用websocket就簡單很多,我們來看代碼 第一步定義全局常量、變量 const config = {host…

ActiViz實戰:ActiViz實現體繪制裁剪

文章目錄 效果預覽關鍵代碼源碼地址效果預覽 ActiViz體繪制裁剪 關鍵代碼 1、實現體繪制 FolderBrowserDialog folderDialog = new FolderBrowserDialog(); folderDialog.SelectedPath = "E:\\S100"; string

王老師 linux c++ 通信架構 筆記(三)安裝 xftp、

&#xff08;11&#xff09;調整 xshell 終端的字體大小&#xff0c;默認字體大小是 9 &#xff1a; &#xff08;12&#xff09; 共享文件夾 hgfs 的含義&#xff1a; &#xff08;13&#xff09;安裝 xftp &#xff0c; 傻瓜式安裝&#xff0c;出了修改下默認安裝位置。 操作…

.locked勒索病毒解析與防護指南

引言 隨著信息技術的飛速發展&#xff0c;網絡安全問題日益嚴峻&#xff0c;其中勒索病毒成為威脅企業和個人數據安全的重要隱患之一。在眾多勒索病毒家族中&#xff0c;.locked勒索病毒以其獨特的加密方式和廣泛的傳播途徑&#xff0c;引起了廣泛的關注。本文將從多個方面詳細…

使用redis-cli查找大key

執行命令 涉及redis-cli 連接和登錄&#xff0c;請查看&#xff1a;Redis-cli 連接Redis-CSDN博客 redis-cli -h <redis_instance_address> -p <port> -a <password> --bigkeys<redis_instance_address>&#xff1a; Redis 實例的 IP 地址。 <p…

opencv 魚眼圖像的矯正(動態參數調整)

一&#xff1a;棋盤校準參數說明(內參) 棋盤校準的方法及代碼很多&#xff0c;參見其他連接 1&#xff1a;內參矩陣 2&#xff1a;畸變系數 針對魚眼相機此處是4個參數&#xff0c;在其校準代碼中也可以知道&#xff0c;其通常的定義如下&#xff1a; data.camera_mat np.e…

報修小程序論文(設計)開題報告

一、課題的背景和意義 近些年來&#xff0c;隨著移動互聯網巔峰時期的來臨&#xff0c;互聯網產業逐漸趨于“小、輕、微”的方向發展&#xff0c;符合輕應用時代特點的各類技術受到了不同領域的廣泛關注。在諸多產品中&#xff0c;被譽為“運行著程序的網站”之名的微信小程序…

uniapp-小程序獲取用戶位置

1. 需要在微信公眾平臺進行接口的申請。選擇自己需要用的接口。 2. 在app.json文件中配置permission和requiredPrivateInfos。requiredPrivateInfos里面是你需要使用的接口。 3. 配置完成后&#xff0c;就可以使用了。 相關獲取位置API的鏈接 4. 如果要獲取當前位置到某一個指…

【在 OpenResty 中使用 Lua 獲取服務器自身的 IP 地址】

要在 OpenResty 中使用 Lua 獲取服務器自身的 IP 地址&#xff0c;可以使用 Lua 結合系統命令來獲取本地網絡接口的 IP 地址。以下是一個示例&#xff0c;展示如何實現這一點&#xff1a; 修改你的 nginx.conf 文件&#xff0c;添加一個新的 location 塊來處理獲取本地 IP 地址…