面试题
2017-09-25 本文已影响0人
穷鬼_h
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