面试题

vue和angular的区别?

vue——简单、易学
    指令以 v-xxx
    一片html代码配合json,在new出来vue实例
    个人维护
    适合: 移动端项目,小巧
angular——上手难
    不利于SEO
    指令以 ng-xxx
    所有属性和方法都挂到$scope身上
    angular由google维护
    合适: pc端项目
共同点: 不兼容低版本IE

ng-if和ng-show的区别?

ng-if是把你页面中的DOM节点直接删除了
ng-show只是隐藏了这个节点,给这个节点加了一个样式,值为false时,只是在页面上隐藏了这个节点。

闭包

- 作用
    - 创建匿名执行函数
    - 缓存变量,防止被垃圾回收
    - 实现函数的封装
- 应用场景
    - 内部函数访问外部函数的变量
    - 使用闭包代替全局变量
    - 封装相关功能
    - 回调函数
    - 创建私有变量和公有变量

DOM操作

- 获取节点
    - document.getElemenById
    - document.getElementByTagName
    - document.getElementsByName
    - document.getElementsByClassName
    - document.querySelector
    - document.querySelectAll
- 节点操作
    - element.childNodes
    - element.firstChild
    - element.lastChild
    - element.previousSibling
    - element.nextSibling
    - element.parentNode
    - element.appendChild()
    - element.insertBefore()
    - element.removeChild()
    - element.replaceChild()
- 属性操作
    - element.getAttribute()
    - element.setAttribute()
- 样式操作
    - element.style[PROPERTY_NAME]
    - element.classList
    - element.classList.add
    - element.classList.remove
    - element.classList.contains
    - element.classList.toggle
- 元素遍厉
    - childElementCount 子元素数量
    - firstElementChild 第一个子元素: firstChild的元素版
    - lastElementChild  最后一个子元素: lastChild的元素版
    - previousElementSibling->previousSibling的元素版
    - nextElementSibling->nextSibling的元素版

性能优化

- 异步加载JavaScript文件
- 合并文件
- 图片懒加载
- 预加载

sessionStorage,cookie,localStorage

localstorage:浏览器关闭了数据仍然可以保存下来,并可用于所有同源(相同的域名、协议和端口)窗口(或标签页)永久存储,永不失效,除非手动删除
sessionStorage:数据存储在窗口对象中,窗口关闭后对应的窗口对象消失,存储的数据也会丢失。就是浏览器窗口关闭就失效了
cookie:是有大小限制的,每个 cookie 所存放的数据不能超过4kb,如果 cookie 字符串的长度超过4kb,则该属性将返回空字符串。

前后端交互都有哪些方式?

1. 服务端渲染
2. ajax
3. jsonp
4. comet
5. web socket

你可能感兴趣的:(面试题)