分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

js常见的面试题

发布时间:2023-09-06 02:26责任编辑:蔡小小关键词:js面试题

css 选择符有哪些


通配选择符 *
类选择符 class
id选择符 id
属性选择符 input[name=button]
包含选择符 类似 div span
子对象选择符 类似 div > span

apply() 和 call()的区别  ==和===的区别  null和undefined的区别


apply和call参数不同 call可以传多个参 apply只能传二个参


双等号只要值相等就为真


三等号 值和类型必须都相同才为真


null 指向了一个空的对象 可以看做一个空指针 不占用内存


undefined 当声明一个未初始化的变量的时候 值为undefined 会占用内存 只不过值为undefined

js的事件模型有哪些


dom0事件模型  原始事件模型


dom2事件模型  分为三个阶段  目标阶段、捕获阶段、冒泡阶段    


dom3事件模型  只不过是在原来的事件上增加了一些事件类型

简述异步编程模式


对于在浏览器中频繁操作会阻碍浏览器的响应速度 通过异步编程的模式可以加快浏览器的响应速度 这种模式被称为异步编程
(实现异步编程的有好多 譬如ajax、promise、deffer等都是采用异步编程来实现的)

for for in  for of之间的区别


其实三者的区别并不大 都是用来遍历数组或者对象的  只不过实现方式不同
for in 是以key -value的形式实现的
for of 是以iterator的形式实现的

深拷贝和浅拷贝的实现

//浅拷贝function extendCopy(p){ ??????var c = {}; ??????for(var i in p){ ????????c[i] = p[i]; ??????} ??????return c; ????}
//深拷贝function deepCopy(p,c){ ??????var c = c || {}; ??????for(var i in p){ ????????if(typeof p[i] === "object"){ ??????????c[i] = (p[i].constructor == Array) ? [] : {}; ??????????deepCopy(p[i],c[i]); ????????}else{ ??????????c[i] = p[i]; ????????} ??????} ??????return c; ????}

排序

//这里只使用冒泡排序作为例子var arr = [2,1,4,7]; ????for(var i = 0;i<arr.length;i++){ ??????for(var j = 0;j<arr.length-1-i;j++){ ????????var temp; ????????if(arr[j]>arr[j+1]){ ??????????temp = arr[j+1]; ??????????arr[j+1] = arr[j]; ??????????arr[j] = temp; ????????} ??????} ????}

数组去重

//这里只用一种方式来实现 还有好多方法大家自己去看吧function duplicateArr(arr){ ??????var temp = []; ??????for(var i = 0;i<arr.length;i++){ ????????if(arr.indexOf(arr[i]) == i){ ??????????temp.push(arr[i]); ????????} ??????} ??????return temp; ????}

html和html5的区别

1.文档声明不同

2.结构语义化不同

(很晚了后续在补充。。。)

js常见的面试题

原文地址:https://www.cnblogs.com/nianzhilian/p/10146911.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved