然后打开此html文件会出现一个textarea输入框和一个Optimize按钮,在输入框输入你的代码,点击Optimize按钮压缩
使用编译好的java程序:首先下载 文件,然后运行如下命令压缩文件:
Flash更适用于处理多媒体,矢量图形
Flash对文本,CSS处理不足,不易搜索
Ajax对文本,CSS支持很好,易于搜索
对多媒体,矢量图形支持不足
都可以实现和服务端不刷新信息传递
可以检测用户在线离线状态
可以避免代码一些不合理,不严谨之处
可以避免代码一些不安全之处,让代码运行更安全
JS压缩时,若一部分代码使用了严格模式,一部分未使用严格模式,在merge时,严格模式的文件将不会应用严格模式,浪费了字节
用于请求资源,使用URL传递参数,信息量有限制,一般为2000字符
用于请求或修改服务器资源,使用FORM(表单)传递参数,对信息量没有限制
需要对服务器资源进行修改时
POST传递参数更为安全一些
eval将字符串解析成js代码执行
应避免使用eval,因为它首先解析字符串然后再执行js代码,耗性能
(19)通用事件侦听函数
(20)事件、IE与火狐的事件机制有什么区别?
有冒泡机制和捕获机制,IE只支持冒泡机制,火狐两种都支持
高并发,后台逻辑不过于复杂
异步模式,增强了用户体验
优化同服务器的数据传输,减少不必要的数据往返,节约带宽
在客户端工作,承担一部分服务器工作,减小服务器负载
实现局部刷新(动态不刷新)
readyState有五个状态:0 未初始化,1 启动,2 发送,3 接收,4 完成
无法后退(单页面应用)
暴露与服务器交互细节,增加安全风险
同步:阻塞等待服务器返回数据,期间浏览器不能进行其他操作
异步:事件触发请求 -> 服务器处理(此时浏览器可做其他事情) -> 请求完毕
(23)JS数据类型以及深浅拷贝
基本数据类型存放在栈中,有系统分配固定内存,并由系统释放内存
引用类型存放在堆中,动态分配内存大小
基础数据类型的拷贝都是"深拷贝",会创造新的变量分配新的内存
引用数据类型分为深拷贝和浅拷贝
浅拷贝:只是对拷贝对象的指针的引用,并不会分配新的内存,引用的指针均指向同一个堆内存,改变一个引用的值,其他都会改变
深拷贝:拷贝出一个新对象,创建新的内存,对深拷贝出来的对象进行操作不会影响原对象
(24)什么是UA?怎样获取UA?
UA:User-Agent,用户代理,可获取到用户的操作系统,浏览器标识等信息,通过这些信息可返回合适的页面