曹阳的博客 仅用于学习和分享

晨测1

2019-12-17

不积跬步,无以至千里,不积小流,无以成江海!每天三道题,6个单词,加油呀呀呀!

12.16(84)

  1. null和undefined的区别:
    null:Null类型,代表 “空值”,代表一个空对象指针,使用typeof运算得到 “object” ,所以可以认为它是一个特殊的对象值。
    undefined:Undefined类型,当一个声明了一个变量未初始化时,得到的就是 undefined。
    
  2. typeof bar ===”object”这个验证的风险有哪些:
    null也是object,如果值为null就会出问题了!
    JQ解决方法:(bar !== null) && (typeof bar === "object") && (! $.isArray(bar))
    
  3. get和post的区别:
    (1).url可见性:get,参数url可见 post,url参数不可见
    get把请求的数据放在url上,即HTTP协议头上,其格式为:以?分割URL和传输数据,参数之间以&相连;post把数据放在HTTP的包体内(requrest body)
    (2).传输数据的大小:
    get一般传输数据大小不超过2k-4k
    post请求传输数据的大小根据php.ini 配置文件设定,也可以无限大
    (3).数据传输上:
    get,通过拼接url进行传递参数
    post,通过body体传输参数
    (4).后退页面的反应:
    get请求页面后退时,不产生影响
    post请求页面后退时,会重新提交请求
    (5).缓存性:
    get请求是可以缓存的
    post请求不可以缓存
    (6).安全性:
    都不安全,原则上post肯定要比get安全,毕竟传输参数时url不可见,但也挡不住部分人闲的没事在那抓包玩,浏览器还会缓存get请求的数据。安全性个人觉得是没多大区别的,防君子不防小人就是这个道理。对传递的参数进行加密,其实都一样。
    (7).GET请求只能进行url编码,而POST支持多种编码方式
    (8).GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留
    (9).GET只接受ASCII字符的参数的数据类型,而POST没有限制
    
  4. 每日单词:
    blame 			责任
    cached 			缓存
    reflog			回流
    patch	 		补丁
    verbose 		详情
    revert 			本地->暂存
    reset			重置,回滚版本
    stash			存放
    archieve		存档
    checkout		暂存区/本地->工作区
    

12.17(95)

  1. use strict有什么用:
    <script>  
      "use strict";  
      console.log("这是严格模式。");  
    </script>  
    设立"严格模式"的优点:
    消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
    消除代码运行的一些不安全之处,保证代码运行的安全;
    提高编译器效率,增加运行速度;
    为未来新版本的Javascript做好铺垫。
    注:经过测试 IE6,7,8,9 均不支持严格模式。
    缺点:
    现在网站的 JS 都会进行压缩,一些文件用了严格模式,而另一些没有。这时这些本来是严格模式的文件,被 merge 后,这个串就到了文件的中间,不仅没有指示严格模式,反而在压缩后浪费了字节。
    
  2. 什么是document对象,什么是window对象。区别?
    document是window的一个对象属性。
    Window 对象表示浏览器中打开的窗口。
    如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。
    所有的全局函数和对象都属于Window 对象的属性和方法。
    document 对 Document 对象的只读引用。
    区别:
    1、window 指窗体。document指页面。document是window的一个子对象。
    2、用户不能改变 document.location(因为这是当前显示文档的位置)。但是,可以改变window.location (用其它文档取代当前文档)window.location本身也是一个对象,而document.location不是对象
    
  3. 原型链:构造函数、原型对象、实例化对象三者的关系:
    [gouzaolian.png](/assets/blogs/gouzaolian.png)
    
  4. 每日单词:
    confirm						确定
    abstract					抽象的
    abstract base class (ABC)	抽象基类
    abstract class 				抽象类
    abstraction 				抽象、抽象物、抽象性
    access 						存取、访问
    

12.18(90)

  1. 如何解决跨域问题?
    1.jsonp(jsonp的原理是动态插入script标签)
    2.document.domain + iframe
    3.window.name、window.postMessage
    4.服务器上设置代理页面
    
  2. 哪些操作会造成内存泄漏?
    内存泄漏指任何对象在您不再拥有或需要它之后仍然存在
    垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。
    如果一个对象的引用数量为0(没有其他对象引用过该对象),或对该对象的唯一引用是循环的,那么该对象的内存即可回收
    1.setTimeout的第一个参数使用字符串而非函数的话,会引发内存泄漏
    2.闭包
    3.控制台日志
    4.循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)
    
  3. 请说出三种减少页面加载时间的方法?
    1.优化图片
    2.图像格式的选择(GIF:提供的颜色较少,可用在一些对颜色要求不高的地方)
    3.优化css(压缩合并css,如 margin-top,margin-left...)
    4.网址后加斜杠(如www.campr.com/目录,会判断这个目录是什么文件类型,或者是目录)
    5.标明高度和宽度(如果浏览器没有找到这两个参数,它需要一边下载图片一边计算大小,如果图片很多,浏览器需要不断地调整页面。这不但影响速度,也影响浏览体验)。当浏览器知道了高度和宽度参数后,即使图片暂时无法显示,页面上也会腾出图片的位置,然后继续加载后面的内容,从而加载时间快了,浏览体验也更好了)
    6.减少http请求(合并文件,合并图片)
    
  4. 每日单词
    patch		补丁
    session		会话
    req			请求
    trade		交易
    respond		回应
    cancel		取消
    

12.19

  1. HTTP状态码
    100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息
    200 OK 正常返回信息
    201 Created 请求成功并且服务器创建了新的资源
    202 Accepted 服务器已接受请求,但尚未处理
    301 Moved Permanently 请求的网页已永久移动到新位置
    302 Found 临时性重定向
    303 See Other 临时性重定向,且总是使用GET请求新的URL
    304 Not Modified 自从上次请求后,请求的网页未修改过
    400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求
    401 Unauthorized 请求未授权
    403 Forbidden 禁止访问
    404 Not Found 找不到如何与URL相匹配的资源
    500 Internal Server Error 最常见的服务器端错误
    503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)
    
  2. 怎么重构页面?
    1.编写css
    2.让页面结构更合理化,提升用户体验
    3.实现良好的页面效果和提升性能
    
  3. Node.js的适用场景?
    1.高并发
    2.聊天
    3.实时消息推送
    
  4. 每日单词
    background 背景、后台(进程)
    backup 备份
    backup device 备份设备
    backup file 备份文件
    backward compatible 向后兼容、向下兼容
    base class 基类
    

12.20

  1. Ajax 是什么:
    1.通过异步模式,提升了用户体验
    2.优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了宽带占用
    3.Ajax在客户端运行,承担了一部分本来由服务端承担的工作,减少了大用户量下的服务器负载
    
  2. Ajax最大的特点
    1.Ajax可以实现动态不刷新(局部刷新)
    2.readyState属性 状态 有5个可取值:0=未初始化,1=启动,2=发送,3=接收,4=完成
    
  3. Ajax的缺点
    1.Ajax不支持浏览器back按钮
    2.安全问题,Ajax暴露了与服务器交互的细节
    3.对搜索引擎的异常机制
    4.破坏了程序的异常机制
    5.不容易调试
    
  4. Ajax同步和异步的区别
    1.同步:提交请求->等待服务器处理->处理完毕返回,这个期间客户端浏览器不能干任何事
    2.异步:请求通过事件触发->服务器处理(这时浏览器仍然可以做其他事情)->处理完毕
    3.ajax.open方法中,第3个参数是设同步或异步的
    
  5. 每日单词
    cache 高速缓存
    calendar 日历
    date 日期
    call 调用
    call operator 调用操作符
    callback 回调
    

上一篇 常用web模块

Content