1 数据类型
基本六个类型,亮点 提到了ES6 的symbol
如果问到 判断数据类型 除了说明typeof 还要提到instanceof
2 ===和==的区别,
===会判断类型和值 ==只判断值 比如 “6”==6是成立的 undefined==null
判断值的时候 想到 []!=[] NAN!=NAN ES6新语法 Number.isNaN(NaN)的结果是true
es6中专门用来判断变量是NAN的方法 Number.isNaN()
3 js onload和DOMcontentloaded的区别 这也是jq加载函数和JS 的onload的区别
window.onload 事件在所有页面元素(包括图片,脚本等)都下载完毕后才会触发。
除了 IE,其它浏览器支持 DOMContentLoaded 事件。当 DOM 内容下载完毕,就会立刻触发。
针对 IE,有各种模拟 DOMContentLoaded 事件的办法。目前被广泛采纳的方案是判断 document 是否可以滚动(doScroll)。一旦可以 滚 动,就意味着 DOM Content 已经加载完毕。
4 给10个li添加点击事件。弹出下标
5 通过字符串拼接添加dom元素和通过appendchild添加dom有什么区别,那个更好
6 你都使用什么实现模块加载
7 如何对数组随机排序
8 如何理解原型和原型链
9 JQ 中链式操作的原理
10 this 指向问题
11 从输入URL到现实页面的过程
12 图片懒加载原理
13 对于一个无限下拉加载图片的页面。如何给图片加点击事件 原生js事件委托和JQ委托的写法
14 ajax 对象建立 open send 等待数据 接受数据 ajax中get和post区别
15 跨域是如何产生的,解决方式是什么
16 描述 cookie localStorage sessionStorage的区别
存储位置区别 容量区别 是否在ajax中携带
17 谈谈你对模块化的理解
18 ajax 中get缓存怎么解决
一般ajax的get请求中,当两次请求时间较短且url地址一样的话,会导致请求结果缓存成上一次的结果,
解决方法是在ajax请求的url后面加参数 参数值是new Date()或者一个随机数就行
19 单页应用中,两个页面如何传值
分析两个页面是否有关系 如果两个页面是跳转关系 可以使用url或者路由传参,如果是嵌套关系,一般的框架都有父子传值的方法
如果两个页面没有关系 1 使用本地存储 2 一般框架都自带状态管理插件 比如vue的vuex react 的rudux 3 如果变量或者方法经常使用且数据不怎么变化 可以使用全局变量
网友评论