2016.06 第二周 群问题分享

HTML+CSS

display:none与visibility:hidden相同点与不同点

2016.06.06~2016.06.10

核心概念

display与visibility属性

参考答案

相同点:

display:none和visibility:hidden都能把网页上的某个元素隐藏起来;

不同点:

display:none

1、不为被隐藏的标签保留其物理空间,即该标签在页面上彻底消失(标签还在网页中,只是不占物理空间而已);

2、隐藏标签的时候会产生reflow和repaint(回流与重绘);

3、父元素设置display: none;父节点及其子孙节点元素全部不可见,而且无论其子孙元素如何设置都显示不出来;

visibility:hidden

1、使标签在网页上不可见,但该标签在网页上所占的空间没有改变;

2、隐藏标签的时候不会产生前端性能的问题,换句话说它不会引起回流与重绘;

3、给一个父元素应用visibility:hidden,则其子孙后代也都会全部不可见。但是如果我们给子孙元素应用了visibility:visible,那么这个子孙元素又会显示出来;

在Android2.3自带浏览器不支持border-radius百分比的问题

2016.06.06~2016.06.10

核心概念

CSS3的border-radius属性

参考答案

通常我们实现一个正圆只需要border-radius: 50%即可,大致代码如下:

.foo { 
    width: 100px; 
    height: 100px; 
    border:1px solid blue;
    border-radius: 50%; 
}

然而在Android 2.3 是不支持百分比的,要兼容的话我们只能使用一个较大的值,比如border-radius: 999px;

JavaScript

Date()与new Date()有什么区别

2016.06.06~2016.06.10

核心概念

Date()、new Date()

参考答案

Date()直接返回当前时间字符串,不管参数是number还是任何string;

Date();
Date('h5course');
Date(500);
//Wed Jun 08 2016 15:56:26 GMT+0800 (中国标准时间)

而new Date()则是会根据参数来返回对应的值,无参数的时候,返回当前时间的字符串形式;有参数的时候返回参数所对应时间的字符串。new Date()对参数不管是格式还是内容都有要求且只返回字符串;

new Date();
//Wed Jun 08 2016 15:56:26 GMT+0800 (中国标准时间)
 
new Date(500);
//Thu Jan 01 1970 08:00:00 GMT+0800 (中国标准时间)
 
new Date('2015/06/13 16:00:00');
//Sat Jun 13 2015 16:00:00 GMT+0800 (中国标准时间)


new Date('h5course');
new Date('2016-01-22-5:20:00');
//Invalid Date
 
new Date('2016-06-08T16:00:00') - new Date('2016/01/22 5:20:00');
//11990400000

从上面几个测试结果可以很容易发现

  1. new Date()在参数正常的情况只会返回当前时间的字符串(且是当前时区的时间);
  2. new Date()在解析一个具体的时间的时候,对参数有较严格的格式要求,格式不正确的时候会直接返回Invalid Date(无效的时间);
  3. 虽然new Date()的返回值是字符串,然而两个new Date()的结果字符串是可以直接相减的,结果为两个时间相差的毫秒数;

cookie的弊端

2016.06.06~2016.06.10

核心概念

cookie

参考答案

cookie虽然在持久保存客户端数据提供了方便,分担了服务器存储的负担,但还是有很多局限性的:

  1. IE6或更低版本最多20个cookie;
  2. IE7和之后的版本最后可以有50个cookie;
  3. Firefox最多50个cookie;
  4. Chrome和Safari没有做硬性限制;

优点:极高的扩展性和可用性

  1. 通过良好的编程,控制保存在cookie中的session对象的大小;
  2. 通过加密和安全传输技术(SSL),减少cookie被破解的可能性;
  3. 只在cookie中存放不敏感数据,即使被盗也不会有重大损失;
  4. 控制cookie的生命期,使之不会永远有效。偷盗者很可能拿到一个过期的cookie;

缺点:

  1. cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉;
  2. 安全性问题。如果cookie被人拦截了,那人就可以取得所有的session信息。即使加密也与事无补,因为拦截者并不需要知道cookie的意义,他只要原样转发cookie就可以达到目的了;
  3. 有些状态不可能保存在客户端。例如,为了防止重复提交表单,我们需要在服务器端保存一个计数器。如果我们把这个计数器保存在客户端,那么它起不到任何作用;

http状态码有那些?分别代表是什么意思

2016.06.06~2016.06.10

核心概念

http状态码

参考答案

对于前端开发人员来说,首先需要了解1~5开头的HTTP状态码分别是什么含义:

  • 1XX 表示消息
  • 2XX 表示成功
  • 3XX 表示重定向
  • 4XX 表示请求错误
  • 5XX 表示服务器端错误

常见HTTP状态码:

  • 200 OK 表示请求成功 一切正常
  • 301 Moved Permanently 重定向,客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL
  • 302 Found 临时重定向,类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。
  • 304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求。服务器告诉客户,原来缓冲的文档还可以继续使用。
  • 400 Bad Request 请求出现语法错误。
  • 403 Forbidden 资源不可用。
  • 404 Not Found 无法找到指定位置的资源。
  • 405 Method Not Allowed 请求方法(GET、POST、HEAD、Delete、PUT、TRACE等)对指定的资源不适用。
  • 500 Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求。
  • 501 Not Implemented 服务器不支持实现请求所需要的功能

HTML5学堂小编 - 陈林&堡堡 耗时6.5h

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2016-06-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏刘望舒

Retrofit2与服务端实例讲解

网络上对 Retrofit2 的各种介绍文章已经很多了,不过往往只是对其用法进行介绍,而缺少相应的实践,这一方面是因为网络上的免费API接口返回的数据格式和访问...

1243
来自专栏木头编程 - moTzxx

微信小程序Ⅵ [wx.request 的回调使用]

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

1.2K3
来自专栏跟着阿笨一起玩NET

url传递中文的解决方案

本文转载:http://www.cnblogs.com/ghd258/archive/2005/10/23/260241.html

3182
来自专栏酷玩时刻

PC 微信扫码登陆

网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。进一步了解OAuth2.0-----理解OAuth2.0 官方介绍资料

1.7K4
来自专栏视觉求索无尽也

Sublime Text 3 装了Anaconda、pylinter 写Python代码出现框框的解决办法

http://blog.csdn.net/kinglearnjava/article/details/49307463 https://www.zhaokel...

1912
来自专栏好好学java的技术栈

近两年火热的微服务springboot不同配置文件详细讲解

配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;

2041
来自专栏IT技术精选文摘

基于ZooKeeper的分布式Session实现

1242
来自专栏DOTNET

学会WCF之试错法——数据传输

服务契约 [ServiceContract] public interface IService { [OperationCon...

3246
来自专栏有趣的django

Django rest framework源码分析(1)----认证

一、基础 1.1.安装 两种方式: github pip直接安装 pip install django-rest-framework 1.2.需要先了解的一...

66011
来自专栏Golang语言社区

Golang语言社区--LollipopGO开源项目搭建商城路由分发

大家好,我是Golang社区主编彬哥,还是要继续社区的开源项目LollipopGO轻量级web框架实战商城。

70520

扫码关注云+社区

领取腾讯云代金券