原生js面试题一

原生JS面试题整理(2023年)_编程题带答案01 这个方法首先使用 filter() 方法遍历第一个数组中的每个元素,然后使用 includes() 方法检查该元素是否存在于第二个数组中。// 输出结果为[1, 2, 3, 4, 5, 6, 7, 8, 9]// 输出结果为[1, 2, 3, 4, 5, 6, 7, 8]// 输出[3, 4]const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];...item, // 将当前项的所有属性展开,赋给一个新的对象。...item // 将当前项的所有属性展开,赋给一个新的对象。 阅读详情

1.Promise

Promise是异步编程的一种解决方案,从语法上讲,Promise是一个对象,可以获取异步操作的消息
目的: (1)、避免回调地狱的问题(2)、Promise对象提供了简洁的API,使得控制异步操作更加容易
Promise有三种状态:pendding //正在请求,rejected //失败,resolved //成功
Promise的用法:

是一个构造函数,这个构造函数里有两个参数,分别是:resolve(成功之后的回调函数)、reject(失败之后的回调函数)。

因为promise表示的是一个异步操作,每当我们new一个promise实例,就表示一个具体的异步操作,那么这个异步操作的结果就只能有两种状态:成功/失败,两者都需要回调函数resolve/reject返回。所以内部拿到操作的结果后,无法使用return把操作结果返回给调用者,这时候只能用回调函数的形式来把成功或失败的结果返回给调用者

2.var let const的区别

var是ES5提出的,let和const是ES6提出的。

const声明的是常量,必须赋值
1)一旦声明必须赋值,不能使用null占位。
2)声明后不能再修改
3)如果声明的是复合类型数据,可以修改其属性

let和var声明的是变量,声明之后可以更改,声明时可以不赋值

var允许重复声明变量,后一个变量会覆盖前一个变量。let和const在同一作用域不允许重复声明变量,会报错。

var声明的变量存在变量提升(将变量提升到当前作用域的顶部)。即变量可以在声明之前调用,值为undefined。
let和const不存在变量提升。即它们所声明的变量一定要在声明后使用,否则报ReferenceError错。
Ruan fu run si ai we
var不存在块级作用域。let和const存在块级作用域。
ES5中作用域有:全局作用域、函数作用域。没有块作用域的概念。
ES6(简称ES6)中新增了块级作用域。块作用域由 { } 包括,if语句和for语句里面的{ }也属于块作用域。

3.跨 域

概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。

跨域可以简单的理解为从一个域名访问另一个域名,出于安全考虑,浏览器不允许这么 做。

同源策略:所谓的同源策略指的是浏览器出于安全的考虑 要求用户访问的文件必须 满足三个条件:

1: 主机地址相同

2: 协议相同

3: 端口号相同

this 指向函数运行时所属的对象

              this 不指函数本身,也不指函数所对的作用域,指向调用此函数的对象 

4.this 指向分为六种情况

1) 全局函数中的this,在全局环境下调用的时候指向window

注意:如果全局函数内部是严格模式,则在全局环境下不指向window 指undefined

2) 函数被赋值给某个事件时,指向对象所属的对象

3) this在对象的方法中使用时,指向的是 方法所属的对象

4)在闭包中 this 指向window

5) 在构造函数中以及构造函数的原型对象中的this,都指向构造函数的实例对象
var arr=new Array() Array 是构造函数 arr 实例对象

6)箭头函数中的this 指向 箭头函数被定义的执行环境

5.作用域闭包

闭包是一个能够读取其他函数内部数据(变量和函数)的函数,在js语言中,只有函数内部的子函数才能访问到该函数的局部变量,所以也可以把闭包理解成一个函数中的函数

闭包的好处
可以读取其他函数中的变量
可以将这些变量的值始终保存到内存中
//延长作用域链// 处理变量不能及时传递的问题// 生成预编译函数

闭包有什么坏处

  1. 增加了内存的消耗。

  2. 某些浏览器上因为回收机制的问题,有内存泄漏,内存溢出风险。

  3. 增加了代码的复杂度,维护和调试不便。

内存泄漏

什么情况会产生内存泄漏

1)意外的全局变量
2)计时器没有及时清除
3)使用不当的闭包函数
4)遗漏的DOM元素
改变this指向的方法

通过call() apply() bind()

call方法:var o=obj.fn().call(obj);

apply方法:var o=obj.fn().apply(obj);

try catch finally

处理代码中可能出现的错误信息

try 放置测试错误的代码块

catch放置当try的代码发生错误时,所执行的代码

finally在try和catch有无异常时都会处理的代码

throw 抛出错误 一般在try中使用 错误信息是自定义的

6.面向对象

对象是带有属性和方法的特殊数据类型

属性是与对象相关的值
方法是能够在对象上执行的动作
什么是面向对象
将所需要做的功能抽象成一个对象 然后反复调用这个对象来完成你想要的功能

7.new做了哪些事情new的作用

1)实例的时候会创建一个新的空对象

2)会将this 指向 空对象

3) 会将绑定给this的属性和方法 设置给空对象

4)最后会将对象返出

8.jQuery概念:

jQuery是一个快速,小且功能丰富的JavaScript库。它使HTML文档的遍历和操作,事件处理,动画和Ajax等操作变得更加简单,它提供了一个易于使用的API,可以跨多种浏览器工作(兼容性比较好)

1.特点:
(1)轻量级,体积小,使用灵巧(只要引入一个JS文件)
(2)强大的选择器
(3)出色的DOM操作
(4)出色的浏览器兼容性
(5)可靠的事件处理机制
(6)完善的Ajax
(7)链式操作方式
(8)丰富的插件支持
(9)完善的文档
(10)开源
9.同步异步

同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能 干任何事
缺点:容易导致代码阻塞
优点:程序员容易理解(因为代码从上往下一行行执行,强调顺序)
异步: 请求通过事件触发->服务器处理(这时浏览器仍然可以作其他事情)-> 处理完毕
缺点:程序员不易理解(因为不是按顺序执行的)
优点:可以解决代码阻塞问题,提升代码执行效率和性能

10.什么是深拷贝和浅拷贝

· 浅拷贝是创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的就是内存地址 ,所以如果其中一个对象改变了这个地址,就会影响到另一个对象。

· · 深拷贝是将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新的区域存放新对象,且修改新对象不会影响原对象。

11.谈谈this的理解

1)this总是指向函数的直接调用者(而非间接调用者)
2)如果有new关键字,this指向new出来的那个对象
3)在事件中,this指向目标元素,特殊的是IE的attachEvent中的this总是指向全局对象window

12.什么是跨域问题,如何解决跨域问题?

因为浏览器有同源策略,如果协议(http或者https)不同、端口不同、主机不同,三者满足其一即产生跨域,跨域的解决方案最优的是cors

13.Call apply bind区别

call,apply,bind主要作用都是改变this指向的,说一下区别:
call和apply的主要区别是在传递参数上不同,call后面传递的参数是以逗号的形式分开的,
apply传递的参数是数组形式 [Apply是以A开头的,所以应该是跟Array(数组)形式的参数]
bind返回的是一个函数形式,如果要执行,则后面要再加一个小括号 例如:bind(obj,参数1,
参数2,)(),bind只能以逗号分隔形式,不能是数组形式

14.防抖和节流

防抖: 在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。
防抖 一般用在轮播图
思路:每次触发事件时都取消之前的延时调用方法
节流: 规定在一个单位时间内,只能触发一次函数。如果这个单位时间内触发多次函数,只有一次生效

获取滚动条去上面的距离,窗口大小改变
思路:每次触发事件时都判断当前是否有等待执行的延时函数

15.原型和原型链的理解

每个构造函数都有一个prototype属性,这个属性会指向他的原型对象,
每个实例化的对象都会有proto属性,这个属性会指向改对象的原型,
每个原型都有constactor属性,指向关联的构造函数

当读取实例对象的属性时,会先去内部找,找不到就去关联的原型对象中找,还没有就会一直往上找原型对象的原型,知道最顶层的Object.prototype,如果他的proto属性为null,那么最终会返回undefined
这样层层递进就形成了实例予原型之间的链式关系,就是原型链

16.什么是Typescript?

TypeScript是一种由微软开发和维护的免费开源编程语言。它是一个强类型的JavaScript超集,可编译为纯JavaScript。它是一种用于应用级JavaScript开发的语言。对于熟悉c#、Java和所有强类型语言的开发人员来说,TypeScript非常容易学习和使用。
TypeScript可以在任何浏览器、主机和操作系统上执行。TypeScript不是直接在浏览器上运行的。它需要一个编译器来编译和生成JavaScript文件。TypeScript是带有一些附加特性的ES6 JavaScript版本。

17.宏任务和微任务的意义区别

宏任务是能够在宿主环境的协助下,通过回调队列来完成异步操作,
微任务则是在宏任务执行前,进行某些操作,告诉 Javascript 引擎在处理完当前执行队列后,尽快地执行我们的代码。

宏任务
1.setTimeout
2.setInterval
微任务
1.Promise
2.MutationObserver

18.怎么解决跨域问题

JSONP跨域
jsonp的原理就是利用

Vue axios实现
this.http=axios;this.http = axios; this.http=axios;this.http.jsonp(‘http://www.domain2.com:8080/login’, {
params: {},
jsonp: ‘handleCallback’
}).then((res) =>
{ console.log(res); })

Ajax 实现
$.ajax({ url: ‘http://www.domain2.com:8080/login’,
type: ‘get’,
dataType: ‘jsonp’,// 请求方式为
jsonp jsonpCallback: “handleCallback”,// 自定义回调函数名
data: {}
});

19.原型和原型链是什么

原型
js中 万物皆对象 每一个对象都有自己的属性
js中每一个对象都有一个与他关联的对象 叫做原型对象
每次获取原型对象属性都是一次查询的过程 在对象的自有属性中找不到就会去查找它的原型对象
原型链
原型连成一条链 JS在查找属性过程中 如果在自有属性中找不到就会去原型对象中查找 如果原型对象中找不到 就回去原型对象的原型中查找 也就是按照原型链查找直到查找到原型链的顶端 Object

20.作用域&作用域链

JS作用域也就是JS识别变量的范围,作用域链也就是JS查找变量的顺序
先说作用域,JS作用域主要包括全局作用域、局部作用域和ES6的块级作用域
全局作用域:也就是定义在window下的变量范围,在任何地方都可以访问,
局部作用域:是只在函数内部定义的变量范围
块级作用域:简单来说用let和const在任意的代码块中定义的变量都认为是块级作用域中的变
量,例如在for循环中用let定义的变量,在if语句中用let定义的变量等等
注:尽量不要使用全局变量,因为容易导致全局的污染,命名冲突,对bug查找不利。
2而
所谓的作用域链就是由最内部的作用域往最外部,查找变量的过程.形成的链条就是作用域链

21.HTML5新特性

HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准

1)用于绘画的 canvas 元素

(2)用于媒介回放的 video 和 audio 元素

(3)对本地离线存储的更好的支持

(4)新的特殊内容元素,比如 article、footer、header、nav、section

(5)新的表单控件,比如 calendar、date、time、email、url、search

22. 说⼀下JS数组内置遍历⽅法有哪些和区别

JS数组内置遍历(遍历就是循环的意思)方法主要有:
forEach:这个方法是为了取代for循环遍历数组的,返回值为undefined例如:
let arrInfo=[4,6,6,8,5,7,87]
arrInfo.forEach((item,index,arr)=>{
//遍历逻辑
})
其中:
item代码遍历的每一项,
index:代表遍历的每项的索引,
arr代表数组本身
filter:是一个过滤遍历的方法,如果返回条件为true,则返回满足条件为true的新数组
let arrInfo=[4,16,6,8,45,7,87]
let resultArr=arrInfo.filter((item,index,arr)=>{
//例如返回数组每项值大于9的数组
return item>9
})
map:这个map方法主要对数组的复杂逻辑处理时用的多,特别是react中遍历数据,也经常用 到,写法和forEach类似some:这个some方法用于只要数组中至少存在一个满足条件的结果,返回值就为true,否则返回
fasel, 写法和forEach类似
every:这个every方法用于数组中每一项都得满足条件时,才返回true,否则返回false, 写法 和forEach类似

23. 说⼀下从输⼊URL到⻚⾯加载完中间发⽣了什么?

大致过程是这样的:

  1. DNS解析
  2. TCP连接
  3. 发送HTTP请求
  4. 服务器处理请求并返回需要的数据
  5. 浏览器解析渲染页面
  6. 连接结束
    输入了一个域名,域名要通过DNS解析找到这个域名对应的服务器地址(ip),通过TCP请求链接服务,通过 WEB服务器(apache)返回数据,浏览器根据返回数据构建DOM树,通过css渲染引擎及js解析引擎将页面渲染出 来,关闭tcp连接

24.说⼀下JS事件代理(也称事件委托)是什么

JS事件代理就是通过给父级元素(例如:ul)绑定事件,不给子级元素(例如:li)绑定事
件,然后当点击子级元素时,通过事件冒泡机制在其绑定的父元素上触发事件处理函数,主要目的
是为了提升性能,因为我不用给每个子级元素绑定事件,只给父级元素绑定一次就好了,在原生js里
面是通过event对象的targe属性实现

25. 深拷⻉,浅拷⻉

⽤es6的Object.assign({},{})进行对象合并,如果是数组可以用es6的
Array.from,或是es6的扩展运算符…arr,如果使⽤es5需要⽤循环来做
浅拷贝,
如果是深拷贝需要⽤递归的形式来实现.当然也可以使用
JSON.parse(JSON.stringify(对象))的方式实现深拷贝

浅拷贝:一般指的是把对象的第一层拷贝到一个新对象上去
深拷贝:一般需要借助递归实现,如果对象的值还是个对象,要进一步的深入拷贝,完全替换掉每一个复杂类型的引用

26.Promise和async await 的区别

Promise,简单来说就是一个容器,里面保存着某个未来才会结束的时间(通常是一个异步操作的结果)

async、await将异步强行转换为同步处理。async/await与promise不存在谁代替谁的说法,因为async/await是寄生于Promise,Generater的语法糖。

1 promise是ES6,async/await是ES7
2 async/await相对于promise来讲,写法更加优雅
3 reject状态:
1)promise错误可以通过catch来捕捉,建议尾部捕获错误,
2)async/await既可以用.then又可以用try-catch捕捉

27.数组去重的方法

function unique(arr){
var newArr = [];
for(var i = 0; i < arr.length; i++){
if(newArr.indexOf(arr[i]) == -1){
newArr.push(arr[i])
}
}
return newArr;
}
var arr = [1,2,2,3,4,4,5,1,3];
var newArr = unique(arr);
console.log(newArr);

function unique(arr){
var newArr = [];
for(var i = 0; i < arr.length; i++){
for(var j = i+1; j < arr.length; j++){
if(arr[i] == arr[j]){
++i;
}
}
newArr.push(arr[i]);
}
return newArr;
}var arr = [1,2,2,3,5,3,6,5];var newArr = unique(arr);
console.log(newArr);

function unique(arr){
//Set数据结构,它类似于数组,其成员的值都是唯一的
return Array.from(new Set(arr)); // 利用Array.from将Set结构转换成数组}
var arr = [1,2,2,3,5,3,6,5];var res = unique(arr)
console.log(res );

28.JS的运行机制

js是单线程的,就是在某个事件段,js只会做一件事,只有完成某件事时,才会干下一件事
所以优秀的程序员将这些任务有分为了同步任务和异步任务。异步任务完成时,通知主线程,进而更新页面。

29.回流重绘

重绘:当页面元素样式改变不影响元素在文档流中的位置时(如background-color,border-color,visibility),浏览器只会将新样式赋予元素并进行重新绘制操作。
改变元素的背景色
改变文字颜色
改变边框颜色

回流:当渲染树render tree中的一部分或全部因为元素的规模尺寸、布局、隐藏等改变时,浏览器重新渲染部分DOM或全部DOM的过程
添加或删除可见的DOM元素
元素的位置发生变化
元素的尺寸发生变化(包括外边距、内边框、边框大小、高度和宽度等)
内容发生变化,比如文本变化或图片被另一个不同尺寸的图片所替代。
浏览器的窗口尺寸变化(因为回流是根据视口的大小来计算元素的位置和大小的)

回流必将引起重绘,而重绘不一定会引起回流。
console.log(1 + “2”+“2”);122 字符串拼接
console.log(1 + +“2” +“2”);32 从左往右算,1+2是3,3+“2”字符串拼接,得到“32”
console.log(1 + -“1” + “2”); 02
console.log(+ “1” + “1” + “2”); 112
console.log(“A” - “B” + “2”); NAN2
console.log(“A” - “B” + 2);NAN

30.解题思路

首先把字符串以?为界分割成一个数组,通过判断数组长度是否大于1来判断是否存在参数,不存在则直接返回空对象,存在则以#为界继续分割,拿到参数字符串。拿到参数字符串后,以&为界分割拿到数组,并循环,在循环每一项时,以=分割,以=前的值为键名,以=后的值为键值添加给对象 对象反出

31.箭头函数

函数的快捷写法,不需要通过function关键字创建函数,并且可以省略return关键字,但函数体内的this对象指的是定义时所在的对象,而不是使用时所在的对象;
化简规则:
Function 变成 =>;
只有1个参数可以省略小括号;
没有参数或者有多个参数不能省略小括号;
函数体内只有一行可以省略大括号,如果有返回值return,则return也要省略;
函数体内有多行,不能省略大括号;

箭头函数的this指向
“箭头函数”的this,总是指向定义时所在的对象,而不是运行时所在的对象。

bind方法不会立即执行,返回一个改变了上下文的this后的函数, 便于稍后调用; apply, call则是立即执行。

除此外, 在 ES6 的箭头函数下, call 和 apply 将失效, 对于箭头函数来说:

箭头函数体里面的 this 对象, 是定义时所在的对象,

箭头函数不能用作构造函数,也就是说不能使用 new 命令

箭头函数不可以使用 arguments 对象

32.浏览器存储

1.Cookie
2.web存储(localStorage和sessionStorage)
3.IndexedDB
缺陷
Cookie会被附加在每个HTTP请求中,所以无形中增加了流量。
由于在HTTP请求中的Cookie是明文传递的,所以安全性成问题,除非用超文本传输安全协定。
Cookie的大小限制在4KB左右,对于复杂的存储需求来说是不够用的
只能储存字符串
由于第三方Cookie的滥用,所以很多老司机在浏览网页时会禁用Cookie,所以我们不得不测试用户是否支持Cookie,这也是很麻烦的一件事
优点
首先由于操作Cookie的API很早就已经定义和实现了,因此相比于其他的数据存储方式,Cookie的兼容性非常的好,兼容现在市面上所有的主流浏览器,我们在使用它的时候完全不用担心兼容问题。

提供了简单明了的API来进行操作
更加安全
可储存的数据量更大
也正是出于以上这些原因,localStorage被视为替代cookie的解决方案,但还是要注意不要在localStorage中存储敏感信息。

33.同源策略,为什么要用同源

两个页面地址中的协议,域名,端口号一致,则表示同源。

同源策略的限制:不能通过ajax请求不同域的数据,不能通过脚本操作不同域下的DOM,

为什么要用同源策略:设置同源限制主要是为了安全,如果没有同源限制存在浏览器中的cookie等其他数据可以任意读取,不同域下DOM任意操作,ajax任意请求的话如果浏览了恶意网站那么就会泄漏这些隐私数据

34.HTTP协议的流程是什么样的呢?

1.用户在浏览器(客户端)里输入或者点击一个网址链接;
2.浏览器通过网址域名查找ip地址。DNS查找方式是通过浏览器缓存(会记录DNS记录)→系统缓存→TCP/IP参数中设置的首选DNS服务器等一级一级递归解析,然后将URL中的端口号解析出来,没有的话默认80,建立TCP连接
3.浏览器会给web服务器发送一个http请求
4.服务器响应客户端报文
5.关闭连接,浏览器解析响应内容。

35.前端开发的流程

确定需求
分析与设计:业务分析 业务逻辑设计 界面设计
开发环境搭建
开发-测设 -开发-测设

原生JS面试题 1. 什么是事件委托?为什么这样做? 答:它还有一个名字叫事件代理,事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。 为什么这样做呢?通过事件委托可以减少事件处理程序数量,这样就能大大的减少与dom的交互次数,提高性能; 2. js数据类型? 答:JS的数据类型有8种。 在ES5的时候,我们认知的数据类型确实是 6种:Number、String、Boolean、undefined、object、Null。 ES6 中新增了一种 Symbol。这种类型的对象永不. 阅读详情

相关推荐

原生JS表格排序,实现淘宝商品列按价格要求等排序!

如何使用原生JS实现点击表格标题栏实现按要求自动排序功能?今天就教大家实现这个功能,这个功能可应用再淘宝等电商网站,按要求,如价格重新对商品排序 我就以同学曾经去百度面试遇到的一道面试题为例子 源码地址:http://download.youkuaiyun.com/detail/wcslb/9688040 HTML页面代码:

李帅醒的博客 1万+

原生JS的面试题1-30题(整理过的),关注收藏,持续更新

1:javascript的typeof返回的数据类型有: Undefined,string,boolean,number,Object,Function 2:3种强制类型转换和 2 种隐式类型转换? 强制类型转换: (parseInt,parseFloat,Number) 隐式类型转换: ==, 操作符:+*/-; 辑运算符:||&& 一元运算符 + - 3. split() 、join() 的区别 (1):Split()方法是切割成数组的形式, 用...

王春燕的博客 7021

JavaScript实现全选、反选功能(Vue全选、反选,js原生全选、反选

编程基础的初级开发者,计算机科学专业的学生,以及平时没怎么利用过数据结构与算法的开发人员希望复习这些概念为下次技术面试做准备。或者想学习一些计算机科学的基本概念,以优化代码,提高编程技能。这份笔记都是可以作为参考的。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】data() {return {items: [],},三套“算法宝典”开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】算法刷题LeetCode中文版(为例)

2301_82244509的博客 1321

原生JS 面试题 (基础)(概率大)

2022 最新 前端面试题 持续更新中

m0_64191440的博客 8282

手把手教你用CH340给正点原子ESP8266烧录固件(附串口调试技巧)

本文详细讲解了使用CH340模块为正点原子ESP8266烧录AT固件的完整流程与关键技巧。核心在于烧录时必须使用3.3V供电,并正确连接GPIO0引脚至GND以进入下载模式。文章涵盖了从硬件接线、软件参数配置到烧录后串口调试验证的全步骤,并提供了常见问题排查方案,帮助开发者一次性成功完成固件烧录。

weixin_29201933的博客 232

ADI官方例程HDL和No-OS生成Vivado工程

这一步是选择下载源,一般都是选择国内镜像,因为国外的源太慢了,这里选择阿里的镜像,如果没有这个选项可以在下面的User URL里添加就行,选择好源后然后点击下一步。下一步会从你选择的源上下载软件包目录,如果提示Unable to get setup from https://xxxxxx/,返回上一步,选择别的源,例如第二个163网易的源。然后就是你想要安装在哪了,下面的选项好像会决定环境变量存放在哪,不过一般都是个人电脑选择第一个默认的就行,然后点下一步。下好之后双击打开,就是这个界面了,直接点下一步。

代码匠的博客 3832

原生js的面试题

1.JS的基本数据类型?引用数据类型? 基本数据类型(值类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、symbol。引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function)。特殊的对象:正则(RegExp)和日期(Date)。特殊类型:Infinate 无穷、NAN 非数字。2.es6新特性1.变量声明:const和let let表示声明变量,而const表示声明常量,两者都为块级作用域区别:

weixin_41759744的博客 5011

STM32H7 Flash擦除后数据读取异常的缓存问题解析

本文深入分析了STM32H7系列芯片在Flash擦除后数据读取异常的缓存问题,揭示了由于数据缓存(D-Cache)和指令缓存(I-Cache)导致的数据一致性问题。通过详细的解决方案,包括手动维护缓存一致性和操作期间禁用缓存,帮助开发者有效解决这一常见但棘手的嵌入式开发难题。

weixin_29158413的博客 392

原生JavaScript系列面试题

同步和异步是一种消息通知机制同步阻塞:A调用B,B处理获取结果,才返回给A。A在这个过程中,一直等待B的处理结果,拿到结果然后继续往下执行。异步非阻塞:A调用B,无需等待B的结果,B通过状态,通知等待通知A或者回调函数来处理。微任务和宏任务都是异步任务微任务:一个需要异步执行的函数,执行时机是在主函数执行结束之后、当前宏任务结束之前。宏任务:宏任务的时间粒度比较大,执行的时间间隔是不能精确控制的,对一些高实时性的需求就不太符合。常见微任务:(3)Object.observe(已废弃)

qq_44186810的博客 949

TC3XX - MCAL知识点(三十五):Tasking编译器下,Tc3xx的MCAL代码如何使用多核,多核中断、多核任务、多核外设之间的MCAL配置与代码例程

文章用于记录在裸机情况下使用多核Tc387芯片,如何高效运行以及正确的代码、工程属性、链接文件配置等问题,相互结合、相互影响的地方,以示后续使用记录。

梦想技术家 963

恒玄BES调试笔记-BES2500如何打开COMPEXP

打开Compressor and expander会占用资源,这个根据个人项目需求而定吧!打开方法,以及参数修改如下: config\best2300a_ibrt_anc\target.mk SPEECH_RX_COMPEXP ?= 1 apps\audioplayers\bt_sco_chain_cfg_default.c #if defined(SPEECH_RX_COMPEXP) /*****************************************************

leezs的博客 706

【原生JS】 前端JS数组最常用 20 道面试题总结(含详细代码解析)

10分钟彻底拿下原生JS数组面试题!

silverclayz的技术分享 1575

YOLO26涨点改进 | NeurIPS2025最佳论文!注意力改进篇| 引入Gated Attention门控注意力模块、太牛了!直接拯救了大模型的发展,助力目标检测、图像分割、图像分类有效涨点

本文提出了一种基于门控注意力机制(GatedAttention)的YOLO26模型改进方法。该方法在标准softmax注意力机制中引入头部特定的sigmoid门控,通过增强注意力机制使模型更聚焦于关键信息。实验表明,该模块能显著提升模型性能,特别是在复杂背景和密集目标场景中,同时减少无关区域关注并提高检测精度。门控机制引入的非线性和稀疏性不仅提升了推理效率,还改善了训练稳定性,使模型能采用更大学习率并增强扩展性。此外,该方法有效缓解了"注意力下沉"现象,增强了模型对长距离目标的感知能力。

Ai缝合怪、助力小伙伴高效发论文 656

【原生JS】 前端JS字符串最常用 20 道面试题总结(含详细代码解析)

10分钟彻底拿下原生JS字符串面试题!

silverclayz的技术分享 800

基于通义千问2.5-7B-Instruct的技术深度解析

通义千问2.5-7B-Instruct是一个基于Transformer架构的大型语言模型,具有70亿参数。它通过自注意力机制和前馈神经网络处理输入序列,能够捕捉长距离依赖关系,适用于多种NLP任务。微调是指在预训练模型的基础上,使用特定任务的数据进行进一步训练,以使模型更好地适应特定任务。微调可以显著提高模型在特定任务上的性能。通义千问2.5-7B-Instruct是一个强大的语言模型,适用于多种NLP任务。通过深入理解其架构、微调方法和核心代码,可以更好地应用于实际场景。

zhangjiaofa的专栏 1569

农业无人机:无人机图像处理_(8).遥感图像处理与分析

遥感图像处理与分析在农业无人机技术中具有重要作用,通过图像预处理、特征提取、分类与分割、目标检测等技术,可以实现对农田的精细管理、作物监测、病虫害预测等应用。本节详细介绍了这些技术的基本概念、常用方法和具体实现,希望对您在农业无人机图像处理方面的学习和应用有所帮助。

zhubeibei168的博客 1336

经典面试题分析——原生JS如何实现事件委托

原生JS实现事件委托1. 什么是事件委托2. 实现事件委托(第一步,基本结构)3. 编写一个添加节点的方法先4. 实现事件委托 1. 什么是事件委托 官方文档 事件委托就是利用事件冒泡,指定一个事件处理程序,就可以管理某一类型的所有事件。———— JS高程 举个例子 我们将快递寄到公司,但是可能快递到的时候,我们人却没在,便可以委托前台小姐姐代收。 第一:现在委托前台的同事是可以代为签收的,即程序中的现有的dom节点是有事件的 第二,新员工也是可以被前台MM代为签收的,可能人还没到,快递先到了,即程序

欧阳的技术博客 1322

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

关于JS中一些重要的api实现, 巩固你的原生JS功底

点击上方 "程序员小乐"关注公众号,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文As we grow up, we don't lose friends. We just learn who the real ones are.随着年龄的增长,我们并不是失去了一些朋友,而是我们懂得了谁才是真正的朋友。每日掏心话一直以为,有些东西是永远无法从生命中剥离的。仿佛一个厚厚的茧,...

吧主 222

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【原生JS】 前端JS类Class最常用 20 道面试题总结(含详细代码解析)

10分钟彻底拿下原生Js类class的20道面试题,可随时查阅背诵和练习!

silverclayz的技术分享 1251

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

三道原生js面试题(面向高级)

这三题原本是公司为招聘的前端开发工程师定职级准备的题目,分别考察了库里化、中间件、回调函数的应用。独乐乐不如众乐乐,分享给大家,共同提升对原生js的理解~ 话不多说,亮题~ 大家如果有更好的实现方法欢迎提出探讨~   1.编写curry.js 实现函数的分步调用 var curry = require('./curry.js');// &lt;- this is the file y...

weixin_40821790的博客 6342

原生JS面试题3

六、面向对象和面向过程各有什么的优点? 面向过程: 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源。 缺点:没有面向对象易维护、易服用、易扩展。 面向对象(OOP): 优点:易维护、易复用、易扩展。由于面向对象有封装、继承、多态的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。 缺点:性能比面向过程低。 有人这么形容OP和OO的不同:用面向过程的方法写出来的...

zyfacd的博客 488

js map遍历 修改对象里面的值_前端面试之你必须要懂的原生JS

作者 | 刘小夕,Web前端工程师,慕课网认证作者来源 | 前端宇宙前言互联网寒冬之际,各大公司都缩减了HC,甚至是采取了“裁员”措施,在这样的大环境之下,想要获得一份更好的工作,必然需要付出更多的努力。一年前,也许你搞清楚闭包,this,原型链,就能获得认可。但是现在,很显然是不行了。本文梳理出了一些面试中有一定难度的高频原生JS问题,部分知识点可能你之前从未关注过,或者看到了,却...

weixin_28943045的博客 1330

JavaScript-jQuery的ready和原生js的onload

package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; /** 练习-增 删 改 设计一个方法 public static void execute(String sql) 方法接受的参数是S...

杨的博客 461

Less入门以及一些前端面试题

Less入门Less是什么?如何安装?less变量赋值less封装函数less与sass的异同 Less是什么? Less (Leaner Style Sheets 的缩写) 是一门向后兼容的 CSS 扩展语言。这里呈现的是 Less 的官方文档(中文版),包含了 Less 语言以及利用 JavaScript 开发的用于将 Less 样式转换成 CSS 样式的 Less.js 工具。 因为 Less 和 CSS 非常像,因此很容易学习。而且 Less 仅对 CSS 语言增加了少许方便的扩展,这就是 Less

qq_45120080的博客 3730

关于JS中一些重要的api实现,巩固你的原生JS功底

在面试中,常常会遇到一些手写XXX之类的面试题,因此好好总结一下,对于巩固我们的原生js的基础是非常必要的。 尽管在网上已经有了非常多的总结文章,但在我看来有一个普遍的问题,那就是把原理性的东西过于复杂化了。如果站在面试官的角度,他的目的是在最短的时间内考察出面试者对于JS语言的理解程度,但是在看了网站的诸多总结文章后我发现其中的代码有很大一部分是做意义不大的操作,比如实现一个简单的防抖,只要是核...

weixin_45566319的博客 202
上一篇: vue面试题一
下一篇: uniapp和小程序面试题
勋染
博客等级 码龄5年 323粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勋染

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值