IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JS——02面试题 -> 正文阅读

[JavaScript知识库]JS——02面试题

目录

1、iframe 的优缺点?

2、请你谈谈 Cookie 的弊端?

3、js 延迟加载的方式有哪些??

4、documen.write 和 innerHTML 的区别? ?

5、哪些操作会造成内存泄漏? ?

?6、解释 jsonp 的原理,以及为什么不是真正的 ajax?

7、javascript 的本地对象,内置对象和宿主对象 ?

8、字符串反转,如将 '12345678' 变成 '87654321' ?

9、将数字 12345678 转化成 RMB 形式 如:12,345,678

10、生成 5 个不同的随机数


1、iframe 的优缺点?

优点:
1. 解决加载缓慢的第三方内容如图标和广告等的加载问题
2. Security sandbox
3. 并行加载脚本

缺点:
1. iframe 会阻塞主页面的 Onload 事件
2. 即时内容为空,加载也需要时间
3. 没有语意


2、请你谈谈 Cookie 的弊端?

缺点:
1.Cookie 数量和长度的限制。每个 domain 最多只能有 20 条 cookie,每个 cookie 长度
不能超过 4KB,否则会被截掉。
2.安全性问题。如果 cookie 被人拦截了,那人就可以取得所有的 session 信息。即使加密
也与事无补,因为拦截者并不需要知道 cookie 的意义,他只要原样转发 cookie 就可以达
到目的了。
3.有些状态不可能保存在客户端。例如,为了防止重复提交表单,我们需要在服务器端保
存一个计数器。如果我们把这个计数器保存在客户端,那么它起不到任何作用。


3、js 延迟加载的方式有哪些??

1. defer 和 async?
2. 动态创建 DOM 方式(创建 script,插入到 DOM 中,加载完毕后 callBack)
3. 按需异步载入 js


4、documen.write 和 innerHTML 的区别? ?

document.write 只能重绘整个页面
innerHTML 可以重绘页面的一部分


5、哪些操作会造成内存泄漏? ?

内存泄漏指任何对象在您不再拥有或需要它之后仍然存在。
垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引
用数量为 0(没有其他对象引用过该对象),或对该对象的惟一引用是循环的,那么该对象
的内存即可回收。
1. setTimeout 的第一个参数使用字符串而非函数的话,会引发内存泄漏。
2. 闭包
3. 控制台日志
4. 循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)


?6、解释 jsonp 的原理,以及为什么不是真正的 ajax?

动态创建 script 标签,回调函数
Ajax 是页面无刷新请求数据操作


7、javascript 的本地对象,内置对象和宿主对象 ?

本地对象为 array obj regexp 等可以 new 实例化
内置对象为 gload Math 等不可以实例化的
宿主为浏览器自带的 document,window 等


8、字符串反转,如将 '12345678' 变成 '87654321' ?

思路:先将字符串转换为数组 split(),利用数组的反序函数 reverse()颠倒数组,再利用 jion() 转换为字符

var str = '12345678';
str = str.split('').reverse().join('');

9、将数字 12345678 转化成 RMB 形式 如:12,345,678

思路:先将数字转为字符, str= str + '' ;
利用反转函数,每三位字符加一个 ','最后一位不加; re()是自定义的反转函数,最后再反转回去

function re(str) {
 str += '';
 return str.split("").reverse().join("");
}
function toRMB(num) {
var tmp='';
 for (var i = 1; i <= re(num).length; i++) {
 tmp += re(num)[i - 1];
 if (i % 3 == 0 && i != re(num).length) {
 tmp += ',';
 }
 }
 return re(tmp);
}

10、生成 5 个不同的随机数

思路:5 个不同的数,每生成一次就和前面的所有数字相比较,如果有相同的,则放弃当前生成的数

var num1 = [];
for(var i = 0; i < 5; i++){
    num1[i] = Math.floor(Math.random()*10) + 1; //范围是 [1, 10]
    for(var j = 0; j < i; j++){
        if(num1[i] == num1[j]){
            i--; 
        } 
    } 
}

?

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:23:15  更:2021-12-24 18:24:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:08:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码