前端JavaScript面试题个人总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了前端JavaScript面试题个人总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3159字,纯文字阅读大概需要5分钟。
内容图文
1、JS有哪些数据类型
- 主要数据类型:Undefined、Null、Boolean、Number、String
- 引用数据类型:object、array、function
2、JS的组成
- ECMAScript(核心):JavaScript 语言基础
- DOM(文档对象模型):规定了访问HTML和XML的接口
- BOM(浏览器对象模型):提供了浏览器窗口之间进行交互的对象和方法
3、介绍JS有哪些内置对象
- 数据封装类对象:Object、Array、Boolean、Number、String
- 其他对象:Function、Arguments、Math、Date、RegExp、Error
- ES6新增对象:Symbol、Map、Set、Promises、Proxy、Reflect
4、JS中对this的指向和理解
调用方式 | 非严格模式下 | 备注 |
---|---|---|
普通函数调用 | window | 严格模式下是 undefined |
构造函数调用 | 创建的实例对象 | 原型方法中 this 也是实例对象 |
对象方法调用 | 该方法所属对象 | 紧挨着的对象 |
事件绑定方法 | 触发事件的对象 | |
定时器函数 | window |
5、null和undefined的区别?
- null是一个表示”无”的对象,转为数值时为0;
- 作为函数的参数,表示该函数的参数不是对象。
- 作为对象原型链的终点。
- undefined是一个表示”无”的原始值,转为数值时为NaN。
- 变量被声明了,但没有赋值时,就等于undefined。
- 调用函数时,应该提供的参数没有提供,该参数等于undefined。
- 对象没有赋值的属性,该属性的值为undefined。
- 函数没有返回值时,默认返回undefined。
注意:null==undefined结果是true的,null===undefined结果是false的。
6、什么是内存泄漏,哪些操作会造成内存泄漏
-
内存泄漏:是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束
- 可能造成内存泄漏的操作:
- 意外的全局变量
- 闭包
- 循环引用
- 被遗忘的定时器或者回调函数
7、export 与 export default有什么区别
- export与 export default 均可用于导出常量、函数、文件、模块等
- 在一个文件或模块中,
export
、import
可以有多个,export default
仅有一个 - 通过
export
方式导出,在导入时要加{ }
,export default
则不需要 - 使用
export default
命令,为模块指定默认输出,这样就不需要知道所要加载模块的变量名;export
加载的时候需要知道加载模块的变量名 -
export default
命令的本质是将后面的值,赋给default
变量,所以可以直接将一个值写在export default
之后
8、JS怎样添加、移除、替换、插入、复制、创建和查找节点
-
添加、移除、替换、之前插入、之后插入、复制
appendChild() removeChild() replaceChild() insertBefore() insertAfter() cloneNode()
-
创建新节点
createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点
-
查找新节点
document.getElementsByTagName("")????//通过标签名称 document.getElementsByName("")????//通过元素的Name属性的值 document.getElementById("")????//通过元素Id,唯一性 document.getElementsByClassName(""); ?//通过类查找 document.querySelector("") //通过选择器
9、比较typeof与instanceof?
相同点:JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的。
- typeof的定义和用法:返回值是一个字符串,用来说明变量的数据类型。
- typeof 一般只能返回如下几个结果:number,boolean,string,function,object,undefined。
- typeof 来获取一个变量是否存在,如 if(typeof a!="undefined"){alert("ok")},而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错。
- 对于 Array,Null 等特殊对象使用 typeof 一律返回 object,这正是 typeof 的局限性。
-
Instanceof定义和用法:instanceof 用于判断一个变量是否属于某个对象的实例。
a instanceof b?alert("true"):alert("false"); //a是b的实例?真:假 var a = new Array(); alert(a instanceof Array); // true alert(a instanceof Object) // true 如上,会返回 true,同时 alert(a instanceof Object) 也会返回 true;这是因为 Array 是 object 的子类。 function test(){}; var a = new test(); alert(a instanceof test) // true
10、如何理解闭包函数?
- 是一个使函数外部能够调用函数内部定义的变量的函数 ,
- 也就是当一个函数的返回值是另外一个函数,而返回的那个函数如果调用了其父函数内部的其它变量,如果返 回的这个函数在外部被执行,就产生了闭包。
- 闭包的特性:
- 函数内再嵌套函数
- 内部函数可以引用外层的参数和变量
- 参数和变量不会被垃圾回收机制回收
11、Ajax同步和异步的区别
AJAX中根据async的值不同分为同步(async = false)
和异步(async = true)
两种执行方式;在W3C的教程中推荐使用异步执行;在默认情况下为异步(true)
- 异步:不管
ajax
的执行请求有没有返回,代码会继续往下执行,就好比两条线程同时执行一样。 - 同步:只有
ajax
请求完成返回数据之后代码才能继续往下执行,就好比单线程一样。
12、介绍一下ES6的基本特性
ECMAScript 6.0
是JavaScript
语言的下一代标准
- 声明变量的方式
let
、const
- 变量解构赋值
- 字符串新增方法
includes()
、startsWith()
、endsWith()
等 - 数组新增方法
Array.from()
、Array.of()
、entries()
、keys()
、values()
等 - 对象简洁写法以及新增方法
Object.is()
、Object.assign()
、entries()
、keys()
、values()
等 -
Symbol
原始数据类型 - 箭头函数、
rest
参数、函数参数默认值等 - 新的数据结构:
Set
和Map
-
Proxy
和Reflect
-
Promise
对象,异步编程的一种解决方案 -
Generator
函数yield
命令和async
函数await
命令 -
Class
类的用法 -
Module
体系 模块的加载和输出方式
原文:https://www.cnblogs.com/wangchangli/p/11247718.html
内容总结
以上是互联网集市为您收集整理的前端JavaScript面试题个人总结全部内容,希望文章能够帮你解决前端JavaScript面试题个人总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。