前端面试常考系列三

转载自 前端面试常考系列三

一、简述一下src与href的区别

href 表示超文本引用,在 link和a 等元素上使用。src 表示来源地址,指向外部资源所在位置, img、script、iframe 等元素上。
src 的内容,是页面的一部分,是引入。href 的内容,是与该页面有关联,是引用。区别就是,引入和引用。

src用于替换当前元素,href用于在当前文档和所引用的外部资源之间建立联系。

二、HTML5的标签有什么作用

a、使Web页面的开发规范统一,增强了语义。

b、使搜索引擎更加容易按照HTML5规则识别出有效的内容

c、使Web页面更接近于一种数据字段和表。


三、不使用border如何画出1px高的线,在不同浏览器的不同模式下都能保持相同效果

方法如下:

<div style="height:1px;overflow:hidden;background:red">

</div> 

四、谈谈你对canvas的理解

canvas是HTML5中新增一个HTML5标签与操作canvas的javascript API,它可以实现在网页中完成动态的2D与3D图像技术。标记和 SVG以及VML之间的一个重要的不同是,有一个基于 JavaScript 的绘图 API,而SVG和VML使用一个XML文档来描述绘图。SVG 绘图很容易编辑与生成,但功能明显要弱一些。canvas可以完成动画、游戏、图表、图像处理等原来需要Flash完成的一些功能。

五、img的alt和title有何区别

alt属性和title属性的区别是前者是在图片无法加载的时候才会显示的其值,而title是在图片正常加载鼠标划上去显示的值,虽然alt也有后者的功能,但是只是在低版本的ie浏览器才支持,高版本及标准浏览器不支持这个功能了


六、表单的主要用途是什么,由几部分组成

表单的主要用途是:在网页中采集数据完成服务器之间的数据传送。表单对于用户而言是数据的录入和提交的界面;表单对于网站而言获取用户信息的途径。

表单构成表单由表单标签、表单域表单按钮组成

a、表单标签:面包含了处理表单数据所用CGI程序的URL,以及数据提交到服务器的方法。

b、表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框、和文件上传框等。

c、表单按钮:包括提交按钮,复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。

 

七、表单提交中Get和Post方式的区别

(1)、get是从服务器上获取数据,post是向服务器传送数据。

(2)、get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在 HTML HEADER内一起传送到ACTION属性所指的URL地址,用户看不到这个过程。

(3)、对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

(4)、get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB 。

(5)、get安全性低,post安全性较高。

八、HTML5 新增的表单元素有哪些

input的类型有

email(自动验证email格式)
  url(自动验证url格式
  number(只能输入数字)
  range(类似音量滑动条)
  Date pickers (date,month, week, time, datetime, datetime-local)(自带日期选择)
  search(搜索域,类似百度的类似搜索提示)
  color(颜色选择,这个现在不兼容大部分浏览器=-=)

新标签

datalist(自动验证内容是否在可选择选项中)
  keygen 
  output 

九、HTML5废弃了哪些HTML4元素

第一类:表现性元素

basefont
  big
  center
  font
  s
  strike
  tt
  u
建议用语义正确的元素代替他们,并使用CSS来确保渲染后的效果。

第二类:框架类元素

因框架有很多可用性及可访问性问题,HTML5规范将以下元素移除。
  frame
  frameset
  noframes
  但html5支持iframe。

第三类:属性类

很多表现性的属性也被新规范移除,如下:
  align
  body标签上的link、vlink、alink、text属性
  bgcolor
  height和width
  iframe元素上的scrolling属性
  valign
  hspace和vspace
  table标签上的cellpadding、cellspacing和border属性
  header标签上的profile属性
  链接标签a上的target属性
  img和iframe元素的longdesc属性

第四类:其他

abbr取代acronym(用于表示缩写)
  object取代了applet
  ul取代了dir


十、HTML5 标准提供了哪些新的 API

HTML5 提供的应用程序 API 主要有:

Media API

Text Track API

Application Cache API

User Interaction

Data Transfer API

Command API

Constraint Validation API

History API


十一、HTML5有哪些类型的存储,区别是什么

存储类型有:

HTML5的存储类型有:essionStoragelocalStorage。

两者区别:

sessionStorage属于session级别,只在当前域名内才有效,当浏览器窗口关闭,存入的值跟着也消失

localStorage属于cookie级别,永久存在浏览器中


十二、简单介绍一下消息推送与WebSocket

B/S架构的系统多使用HTTP协议,

HTTP协议的特点:

1、无状态协议

2、用于通过Internet发送请求消息和响应消息

3、使用端口接收和发送消息,默认为80端口底层通信使用Socket完成。

HTTP协议决定了服务器与客户端之间的连接方式,无法直接实现消息推送,有下面一些变相的解决办法:

01.轮询

客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。 
优点:后端程序编写比较容易。 
缺点:请求中有大半是无用,浪费带宽和服务器资源。 
实例:适于小型应用。

02长轮询

客户端向服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。 
优点:在无消息的情况下不会频繁的请求,耗费资小。 
缺点:服务器hold连接会消耗资源,返回数据顺序无保证,难于管理维护。 
实例:WebQQ、Hi网页版、Facebook IM 。

03。长连接

在页面里嵌入一个隐蔵iframe,将这个隐蔵iframe的src属性设为对一个长连接的请求或是采用xhr请求,服务器端就能源源不断地往客户端输入数据。 
优点:消息即时到达,不发无用请求;管理起来也相对便。 
缺点:服务器维护一个长连接会增加开销。 
实例:Gmail聊天

04.Flash Socket

在页面中内嵌入一个使用了Socket类的程序JavaScript通过调用此Flash程序提供的Socket接口与服务器端的Socket接口进行通信,JavaScript在收到服务器端传送的信息后控制页面的显示。 
优点:实现真正的即时通信,而不是伪即时。 
缺点:客户端必须安装Flash插件;非 HTTP 协议,无法自动穿越防火墙。 
实例:网络互动游戏。

05.Websocket

WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。依靠这种技术可以实现客户端和服务器端的长连接,双向实时通信。

特点:

a、事件驱动

b、异步

c、使用ws或者wss协议的客户端socket

d、能够实现真正意义上的推送功能

缺点:少部分浏览器不支持,浏览器支持的程度与方式有区别。



一、简述一下src与href的区别

href 表示超文本引用,在 link和a 等元素上使用。src 表示来源地址,指向外部资源所在位置, img、script、iframe 等元素上。
src 的内容,是页面的一部分,是引入。href 的内容,是与该页面有关联,是引用。区别就是,引入和引用。

src用于替换当前元素,href用于在当前文档和所引用的外部资源之间建立联系。

二、HTML5的标签有什么作用

a、使Web页面的开发规范统一,增强了语义。

b、使搜索引擎更加容易按照HTML5规则识别出有效的内容

c、使Web页面更接近于一种数据字段和表。


三、不使用border如何画出1px高的线,在不同浏览器的不同模式下都能保持相同效果

方法如下:

<div style="height:1px;overflow:hidden;background:red">

</div> 

四、谈谈你对canvas的理解

canvas是HTML5中新增一个HTML5标签与操作canvas的javascript API,它可以实现在网页中完成动态的2D与3D图像技术。标记和 SVG以及VML之间的一个重要的不同是,有一个基于 JavaScript 的绘图 API,而SVG和VML使用一个XML文档来描述绘图。SVG 绘图很容易编辑与生成,但功能明显要弱一些。canvas可以完成动画、游戏、图表、图像处理等原来需要Flash完成的一些功能。

五、img的alt和title有何区别

alt属性和title属性的区别是前者是在图片无法加载的时候才会显示的其值,而title是在图片正常加载鼠标划上去显示的值,虽然alt也有后者的功能,但是只是在低版本的ie浏览器才支持,高版本及标准浏览器不支持这个功能了


六、表单的主要用途是什么,由几部分组成

表单的主要用途是:在网页中采集数据完成服务器之间的数据传送。表单对于用户而言是数据的录入和提交的界面;表单对于网站而言获取用户信息的途径。

表单构成表单由表单标签、表单域表单按钮组成

a、表单标签:面包含了处理表单数据所用CGI程序的URL,以及数据提交到服务器的方法。

b、表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框、和文件上传框等。

c、表单按钮:包括提交按钮,复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。

 

七、表单提交中Get和Post方式的区别

(1)、get是从服务器上获取数据,post是向服务器传送数据。

(2)、get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在 HTML HEADER内一起传送到ACTION属性所指的URL地址,用户看不到这个过程。

(3)、对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

(4)、get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB 。

(5)、get安全性低,post安全性较高。

八、HTML5 新增的表单元素有哪些

input的类型有

email(自动验证email格式)
  url(自动验证url格式
  number(只能输入数字)
  range(类似音量滑动条)
  Date pickers (date,month, week, time, datetime, datetime-local)(自带日期选择)
  search(搜索域,类似百度的类似搜索提示)
  color(颜色选择,这个现在不兼容大部分浏览器=-=)

新标签

datalist(自动验证内容是否在可选择选项中)
  keygen 
  output 

九、HTML5废弃了哪些HTML4元素

第一类:表现性元素

basefont
  big
  center
  font
  s
  strike
  tt
  u
建议用语义正确的元素代替他们,并使用CSS来确保渲染后的效果。

第二类:框架类元素

因框架有很多可用性及可访问性问题,HTML5规范将以下元素移除。
  frame
  frameset
  noframes
  但html5支持iframe。

第三类:属性类

很多表现性的属性也被新规范移除,如下:
  align
  body标签上的link、vlink、alink、text属性
  bgcolor
  height和width
  iframe元素上的scrolling属性
  valign
  hspace和vspace
  table标签上的cellpadding、cellspacing和border属性
  header标签上的profile属性
  链接标签a上的target属性
  img和iframe元素的longdesc属性

第四类:其他

abbr取代acronym(用于表示缩写)
  object取代了applet
  ul取代了dir


十、HTML5 标准提供了哪些新的 API

HTML5 提供的应用程序 API 主要有:

Media API

Text Track API

Application Cache API

User Interaction

Data Transfer API

Command API

Constraint Validation API

History API


十一、HTML5有哪些类型的存储,区别是什么

存储类型有:

HTML5的存储类型有:essionStoragelocalStorage。

两者区别:

sessionStorage属于session级别,只在当前域名内才有效,当浏览器窗口关闭,存入的值跟着也消失

localStorage属于cookie级别,永久存在浏览器中


十二、简单介绍一下消息推送与WebSocket

B/S架构的系统多使用HTTP协议,

HTTP协议的特点:

1、无状态协议

2、用于通过Internet发送请求消息和响应消息

3、使用端口接收和发送消息,默认为80端口底层通信使用Socket完成。

HTTP协议决定了服务器与客户端之间的连接方式,无法直接实现消息推送,有下面一些变相的解决办法:

01.轮询

客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。 
优点:后端程序编写比较容易。 
缺点:请求中有大半是无用,浪费带宽和服务器资源。 
实例:适于小型应用。

02长轮询

客户端向服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。 
优点:在无消息的情况下不会频繁的请求,耗费资小。 
缺点:服务器hold连接会消耗资源,返回数据顺序无保证,难于管理维护。 
实例:WebQQ、Hi网页版、Facebook IM 。

03。长连接

在页面里嵌入一个隐蔵iframe,将这个隐蔵iframe的src属性设为对一个长连接的请求或是采用xhr请求,服务器端就能源源不断地往客户端输入数据。 
优点:消息即时到达,不发无用请求;管理起来也相对便。 
缺点:服务器维护一个长连接会增加开销。 
实例:Gmail聊天

04.Flash Socket

在页面中内嵌入一个使用了Socket类的程序JavaScript通过调用此Flash程序提供的Socket接口与服务器端的Socket接口进行通信,JavaScript在收到服务器端传送的信息后控制页面的显示。 
优点:实现真正的即时通信,而不是伪即时。 
缺点:客户端必须安装Flash插件;非 HTTP 协议,无法自动穿越防火墙。 
实例:网络互动游戏。

05.Websocket

WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。依靠这种技术可以实现客户端和服务器端的长连接,双向实时通信。

特点:

a、事件驱动

b、异步

c、使用ws或者wss协议的客户端socket

d、能够实现真正意义上的推送功能

缺点:少部分浏览器不支持,浏览器支持的程度与方式有区别。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java内部类小结

【README】 1&#xff0c;本文总结了java4种内部类&#xff0c;包括 成员内部类&#xff1a;在外部类内部定义的非静态类&#xff1b;成员内部类不能独立存在&#xff0c;如 UML中类间的组合关联关系&#xff1b;静态内部类&#xff1a;在外部类内部定义的静态类&#xff1b;…

python内置模块有哪些_python中那些小众但有用的内置模块

今天带来的是python里一些小众但是却比较实用的python库&#xff0c;一起来看看吧&#xff01;pprint&#xff1a;更清晰的打印pprint 是 pretty printer 的缩写&#xff0c;用来打印 Python 数据结构&#xff0c;与 print 相比&#xff0c;它打印出来的结构更加整齐&#xff0…

微软想让你跟机器人说句话就把事办了

也别猜错&#xff0c;微软可没有像 Google 一样打算让四只脚能跑 60 迈和两只脚能穿行森林的机器人大军占领你的家。他们家的机器人不是 Robot&#xff0c;而叫 Bot&#xff0c;可能是 chatbot 的简称&#xff0c;也就是聊天机器人。 具体来说&#xff0c;微软在自然语言处理的…

转:Spring Boot 获取 HttpServletRequest 的方法

转自&#xff1a; Spring Boot 获取 HttpServletRequest 的方法 - 简书本文介绍 Spring Boot 2 获取 HttpServletRequest 的方法。 目录 概述 方法Controller 方法参数属性自动注入手动方法调用借助 Mo...https://www.jianshu.com/p/b7a7d66c4ef2 本文介绍 Spring Boot 2 获取…

前端面试常考系列四

转载自 前端面试常考系列四 一、CSS盒子模型有哪些用处 css中的盒子模型是为了理解divcss模型的定位功能&#xff0c;它利用盒子模型这样的布局方式代替了传统的表格布局方式。盒子模型是在学习divcss布局方式中必须要学习的一个模型&#xff0c;通过这个模型可以明白网页中di…

python线性加权模型_局部加权之线性回归(1) - Python实现

1 #局部加权线性回归2 #交叉验证计算泛化误差最小点345 importnumpy6 from matplotlib importpyplot as plt789 #待拟合不含噪声之目标函数10 deforiFunc(x):11 y numpy.exp(-x) * numpy.sin(10*x)12 returny13 #待拟合包含噪声之目标函数14 def traFunc(x, sigma0.03):15 y …

3分钟看完 Day2 Keynote

hey~ M姐又给大家带来了满满惊喜的 Build2016 Day 2 Keynote 干货汇总了。 如果你连昨天的都还不知道&#xff0c;那真心就 out 了。如果说信仰在昨天充值爆棚&#xff0c;今天就要充值信仰到掀翻房顶的节奏了&#xff01;&#xff01;&#xff01; 红衣主教今天妥妥变身成为新…

latex 数学公式_技能分享——LaTeX篇I

公众号文章系列二——“小袁技能分享”上线啦&#xff0c;第一篇推文我们聊一聊LaTeX(音译 “拉泰赫”)Question 1什么是LaTeX&#xff1f;要解释LaTeX是什么&#xff0c;我们先要了解另外一个事物&#xff1a;TeX。1968年&#xff0c;美国著名计算机科学家、现代计算机科学的先…

转:springboot servlet使用配置

转自&#xff1a; springboot servlet使用配置_奔跑的蜗牛的博客-CSDN博客在spring boot中添加自己的Servlet有两种方法&#xff0c;代码注册Servlet和注解自动注册&#xff08;Filter和Listener也是如此&#xff09;。 一、代码注册通过ServletRegistrationBean 获得控制。 也…

前端面试常考系列五

转载自 前端面试常考五 一、DIV元素是什么 DIV元素是用来为HTML文档内大块&#xff08;block-level&#xff09;的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的&#xff0c;其中所包含元素的特性由DIV标签的属性来控制&#xff0c;或…

从业十余年谈谈对dotnet看法与坚持

前言 园子经常在讨论关于.Net发展的问题&#xff0c;我也这些年在工作乃至创业过程中使用.Net碰到的一些问题和看法。个人擅长的技术面&#xff0c;C/C/MFC/STL、ASM、JAVA、VB、Javascript/Typescript、C#/WebForm/MVC、Android/MonoDroid,Linux/Windows&#xff0c;还有没有可…

kali安装python3.7_Debian服务器之安装Python3.7

1、系统环境介绍1.1 系统版本debian-9.6.0-amd64-netinst1.2 系统内核Linux lnnkee 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux2、下载安装包https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz3、配置安装环境apt install libffi-dev …

org.apache.kafka.common.errors.TimeoutException: Topic not present in metadata 解决方法

【README】 本文po出了 topic not present in metadata 的解决方法&#xff1b; 很多博文说是 因为 jackson-databind 没有引入&#xff0c;但是我重新引入后&#xff0c;还是没有解决问题&#xff1b; 最后&#xff0c;原因在于我要发送消息的分区&#xff0c;topic 没有对…

前端面试常考系列六

转载自 前端面试常考系列六 一、为什么重置浏览器默认样式&#xff0c;如何重置 每种浏览器都有一套默认的样式表&#xff0c;即user agent stylesheet&#xff0c;网页在没有指定的样式时&#xff0c;按浏览器内置的样式表来渲染。这是合理的&#xff0c;像word中也有一些预留…

Microsoft将Linux带至桌面操作系统

在今天的Build大会上Microsoft宣布&#xff1a;今年的Windows 10年度更新将使得Windows 10系统能够无缝运行Linux二进制程序。多年来&#xff0c;专家与开发者都在猜测&#xff0c;Linux如何以及何时才能在普通PC用户的桌面系统中更加流行。从今天的新闻来看&#xff0c;似乎Mi…

kafka控制器,复制与存储小结

【README】 1&#xff0c;本文主要总结kafka复制&#xff0c;存储细节&#xff1b;2&#xff0c;本文的kafka集群版本是3.0.0&#xff0c; 有3个broker&#xff0c;分别是 centos201, centos202, centos203 对应的brokerid为 1&#xff0c; 2, 3 &#xff1b;【1】kafka内部原…

python开发stm32软件_ADB+Python+STM32 实现 微信跳一跳辅助

说明:安卓手机开启USB调试模式&#xff0c;具体如何开启&#xff0c;百度自己手机即可安装ADB工具安装python2.7步骤&#xff1a;1、安装adb工具下载地址&#xff1a;https://download.csdn.net/download/qq_29769263/10420731下载后解压到便于记忆的地方即可&#xff0c;以解压…

不装mono,你的.NET程序照样可以在Linux上运行

让.NET应用程序在linux上运行&#xff0c;目前通用的做法就是在Linux上安装mono&#xff0c;然后通过”mono your.exe“命令运行这个程序。 这种运行.net程序的办法有两个弱点&#xff0c;一个是需要客户机安装mono&#xff0c;二个是 ”mono xx.exe“ 这种命令行总让人感到有点…

JAVA面试常考系列一

转载自 JAVA面试常考系列一 题目一 什么是Java虚拟机&#xff1f;为什么Java被称为平台无关的编程语言&#xff1f; java虚拟机是一个可以执行字节码文件&#xff08;.class&#xff09;的虚拟机进程。 为什么java与平台无关呢&#xff1f;因为java源程序&#xff08;.java&…

转:运维监控系统-监控项及指标的梳理

转自&#xff1a; 运维监控系统-监控项及指标的梳理_程序员杂谈-CSDN博客_运维监控指标综合监控功能工具 综合监控工具完成对被管对象的集中监控、集中维护和集中管理&#xff0c;被管对象包括网络设备、服务器、PC设备、数据库、中间件、存储、备份、安全设备、应用系统等。工…