一。gulp:强调的是前端开发的流程,通过配置一系列的task,定义task处理的事物(例如文件压缩合并、雪碧图、启动server、 版本控制等),然后定义执行顺序,来让gulp执行task,从而构建前端项目的流程。
webpack:是一个前端模块化方案,侧重模块打包,把开发中的所有资源(图片、js文件、css文件等)都看成模块,通过loader(加载器)和plugins(插件)对资源进行处理,打包成符合生产环境部署的前端资源。
相同:可以文件合并与压缩(css)
不同点:
虽然都是前端自动化构建工具,但看他们的定位就知道不是对等的。
gulp严格上讲,模块化不是他强调的东西,他旨在规范前端开发流程。
webpack更是明显强调模块化开发,而那些文件压缩合并、预处理等功能,不过是他附带的功能。
二。
ionic与mui的区别
mui的特点:
1.专门为移动端开发的
2.轻巧
3.HBuilder开发工具的强力支持。
4.HTML5+的支持。
mui中遇到的问题:MUI中scroll不能滚动
1.检查dom层级是否一致
2.检查scroll控件是否初始化了。scroll是区域滚动组件,需手动初始化scroll控件。
3.给scroll设置一个固定高度试试。
4.代码中是否引用了其他第三方js库,比如Vue等等。MUI在跟其他库混用的时候可能会有一些冲突,这时候可以先把第三方库注释掉,逐个排查问题,或者调换一下执行顺序
ionic:是一个轻量的手机UI库,具有速度快,界面现代化、美观等特点。为了解决其他一些UI库在手机上运行缓慢的问题,它直接放弃了IOS6和Android4.1以下的版本支持,来获取更好的使用体验。
ionic的特点:
1.ionic 基于Angular语法,简单易学。
2.ionic 是一个轻量级框架。
3.ionic 完美的融合下一代移动框架,支持 Angularjs 的特性, MVC ,代码易维护。
4.ionic 提供了漂亮的设计,通过 SASS 构建应用程序,它提供了很多 UI 组件来帮助开发者开发强大的应用。
5.ionic 专注原生,让你看不出混合应用和原生的区别
6.ionic 提供了强大的命令行工具。
7.ionic 性能优越,运行速度快
三。SVN与git的区别:
1.git是分布式的,而git不是
2.git把内容按元数据方式存储,而SVN按文件
3.git没有一个全局的版本号,svn有。
4.git的完整性优于SVN,
5.git可以有无限个版本库,svn只能有一个指定中央版本库。
四。sublime,hbuilder和webstorm的区别
sublime和hbuilder是轻量级的软件,占用内存小,webstorm启动和操作都比较缓慢,不过功能强大。此外,hbuilder是国产软件,由内至服务器,webstorm当你在敲代码的过程中,会提醒你的错误。
五。angularjs与VUE的区别
vue:是一套构建用户界面的 渐进式框架,与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue的核心库只关注视图层。Vue.js的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件。
易用(已经会了HTML,CSS,JavaScript即可轻松上手)、灵活(简单小巧的核心,渐进式技术栈,足以应付任何规模的应用)、性能(17kb min+gzip运行大小、超快虚拟DOM、最省心的优化)、渐进式JavaScript框架。
angularjs:AngularJS 是一个JavaScript 框架.
AngularJS 使得开发现代的单一页面应用程序(SPAs:Single Page Applications)变得更加容易。
AngularJS 把应用程序数据绑定到 HTML 元素。
AngularJS 可以克隆和重复 HTML 元素。
AngularJS 可以隐藏和显示 HTML 元素。
AngularJS 可以在 HTML 元素"背后"添加代码。
AngularJS 支持输入验证。
六。ajax
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML)。是一种创建交互式网页应用的网页开发技术。
Ajax的工作原理相当于在用户和服 务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给 Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。
Ajax其核心有 JavaScript、XMLHTTPRequest、DOM对象组成,通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据。
[Ajax优点]
<1>.无刷新更新数据。
<2>.异步与服务器通信。
<3>.前端和后端负载平衡。
<4>.基于标准被广泛支持。
<5>.界面与应用分离。
[Ajax缺点]
<1>.AJAX干掉了Back和History功能,即对浏览器机制的破坏。
<2>.AJAX的安全问题。
<3>.对搜索引擎支持较弱。
<4>.破坏程序的异常处理机制。
<5>.违背URL和资源定位的初衷。
<6>.AJAX不能很好支持移动设备。
<7>.客户端过肥,太多客户端代码造成开发上的成本。
七。json
JSON(JavaScript Object Notation)是一种基于文本的数据交换格式
JSON是一种简单数据格式,它有三种数据结构:
键值对 —— Name/Value (Key/Value)
对象 —— Object
数组 —— Arrays
一个有效的JSON文档需要被包含在一对花括号内。
为什么使用JSON
JSON被认为是XML的很好替代者。因为JSON的可读性非常好,而且它没有像XML那样包含很多冗余的元素标签,这使得应用在使用JSON进行网络传输以及进行解析处理的速度更快,效率更高。
JSON中的数值(键值对中的值)可以是以下任意一种:
Object
Array
String
Number
Boolean
null
JSON的优点:
1、基于纯文本,跨平台传递极其简单;
2、Javascript原生支持,后台语言几乎全部支持;
3、轻量级数据格式,占用字符数量极少,特别适合互联网传递;
4、可读性较强,虽然比不上XML那么一目了然,但在合理的依次缩进之后还是很容易识别的;
5、容易编写和解析,当然前提是你要知道数据结构;
八。JSONP在jQuery中的具体实现
在jQuery中实现JSONP主要有两种方式。
$.getJSON
$.ajax
跨域:浏览器不能执行其他网站的脚本,有浏览器的同源策略造成的,是浏览器对js施加的安全限制。
同源策略:域名,协议端口相同
为什么跨域?
为了让某些数据实现不同域名上的共享,以及达到数据共用提高处理效率的目的,需要对部分数据进行跨域访问。
如何实现跨域?
1.jsonp :解决主浏览器的跨域数据访问的问题
核心:通过script标签的src属性,进行域名的包装
2.代理
3。php端修改header
json与jsonp的区别:
json是一种数据格式,jsonp是数据访问的方式
九。new操作符
1.自动创建了new object()
2.实例化对象object
3.改变构造函数的this作用域
4.执行构造函数里的代码
十。bootstrap
bootstrap是一种框架技术,实现响应式布局,同时提供了大量的css类,组件,插件,利用框架,可以快速高效的搭建应用。
优点:基于h5和css3开发,它在jQuery的基础上进行了更为个性化和人性化的完善,形成了一套自己独有的网站风格,并兼容大部分jQuery插件。
缺点:不支持IE6.