1.什么是json? json可以存在哪几种数据类型?在什么时候用?
2.什么是作用域?
3.http和https分别是什么?区别是什么?
4.介绍一下js的节流与防抖?
5.什么是cookie?cookie的优缺点。
6.js的三种排序方法,并分别说明原理
7.栈和队列的区别?
8.math对象是什么?有什么用?
9.js中浅拷贝和深拷贝的区别
10.js延迟加载的方式有哪些?
1.什么是json? json可以存在哪几种数据类型?在什么时候用?
JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
JSON 是轻量级的文本数据交换格式
JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在中括号中)
对象(在大括号中)
Null
JSON格式通常用于通过网络连接序列化和传输结构化数据。 它主要用于在服务器和Web应用程序之间传输数据,是XML的替代方法。
2.什么是作用域?
3.http和https分别是什么?区别是什么?
http协议:是超文本传输协议 https协议:是具有安全性的ssl加密传输协议
传输信息安全性不同: http明文传输,https加密传输
连接方式不同:http连接简单,无状态。https可进行加密传输,身份认证
端口不同; http端口是80 https端口是443
4.介绍一下js的节流与防抖?
防抖:就是指触发事件后在规定时间内函数只能执行一次,如果在规定时间内又触发了事件,则会重新计算函数的执行时间。
5.什么是cookie?cookie的优缺点。
cookie是存储于访问者计算机中的变量 cookie是浏览器提供的一种机制 可以由JavaScript对其进行控制(设置、读取、删除)
优点:cookie可以实现跨页面全局变量 ,cookie可以跨越同域名下的多个网页,但不能跨越多个域名使!用同一个网站中所有页面共享一套cookie
缺点:cookie可能被禁用; cookie与浏览器相关,不能互相访问; cookie可能被用户删除; cookie安全性不够高; cookie存储空间很小(只有4–10KB左右)
6.js的三种排序方法,并分别说明原理
冒泡排序:相邻两个对比,小的在前
选择排序:从第一个开始找到最小的放最前面,依次
插入排序:从第二个开始,和前面的对比,比前面小就换位置,不小就不动,依次
快速排序:通过第一个值将数组分为两个数组,大于该值的放在后面,小于该值的放在前面(利用递归)
7.栈和队列的区别?
栈的插入和删除操作都是在一端进行的,而队列的操作却是在两端进行的。
队列先进先出,栈先进后出。
栈只允许在表尾一端进行插入和删除,而队列只允许在表尾一端进行插入,在表头一端进行删除
8.math对象是什么?有什么用?
Math 是一个内置对象,它拥有一些数学常数属性和数学函数方法。Math 不是一个函数对象。与其他全局对象不同的是,Math 不是一个构造器。Math 的所有属性与方法都是静态的。
Math是JavaScript的原生对象,提供了各种的数学功能,改对象不是构造函数,不能生成实例,所有的属性和方法都必须在Math对象上调用的。
9.js中浅拷贝和深拷贝的区别
浅拷贝:有两种方式,一种是把一个对象里面的所有的属性值和方法都复制给另一个对象,另一种是直接把一个对象赋给另一个对象,使得两个都指向同一个对象。
深拷贝:把一个对象的属性和方法一个个找出来,在另一个对象中开辟对应的空间,一个个存储到另一个对象中。
两者就在于,浅拷贝只是简单的复制,对对象里面的对象属性和数组属性只是复制了地址,并没有创建新的相同对象或者数组。而深拷贝是完完全全的复制一份,空间大小占用一样但是位置不同!
如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。
10.js延迟加载的方式有哪些?
2. async 属性
3. 动态创建DOM方式
4. 使用jQuery的getScript方法
5. 使用setTimeout延迟方法
6. 让JS最后加载文章来源:https://www.toymoban.com/news/detail-685088.html
文章来源地址https://www.toymoban.com/news/detail-685088.html
到了这里,关于前端面试基础面试题——2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!