好程序员技术分享html5和JavaScript的区别,HTML5广义上讲是前端开发学科的代名词,包含HTML5、CSS3及JavaScript三个重要的部分,是运行在浏览器上应用的统称。如PC端网站、管理系统、手机网页应用(WebApps)、混合应用(HybridApps)、微信公众号、小程序、小游戏、数据可视化等。

HTML5狭义上讲是指HTML版本5(v5),相较HTML4,增加了很多新的元素(标签)和元素属性,大大增强了HTML的语义化和表现力,这一部分属于页面结构的内容,比如媒体标签video、audio,画布canvas标签,这三个新标直接K.O了flash。另外,HTML5增加了很多API,为移动APP开发奠定了坚实的基础,比如优化了本地存储(WebStorage)、应用的离线缓存(Application Cache)、地理定位(Geolocation)、监听网络状态等。

上述的HTML5新增的API就是通过JavaScript来调用的,或者本身就是JavaScript程序。下面列示一些重要的API:

API名称

功能描述

API举例

应用缓存

web 应用可进行缓存,并可在没有因特网连接时进行访问

通过配置Manifest文件实现缓存

WebSQL

Web SQL Database概念,它使用 SQL 来操纵客户端数据库的 API

openDatabase()
transaction()
executeSql

本地存储

web 应用程序能够在用户浏览器中对数据进行本地的存储

window.localStorage
window.sessionStorage

Canvas

HTML5 <canvas> 标签通过JavaScript绘制图像

createLinearGradient()
fillRect()
stroke()
bezierCurveTo()
transform()
drawImage()

文件API

让前端操作文件变的可能

FileList、File、Blob、FileReader、URL

地理定位

HTML5 Geolocation(地理定位)用于定位用户的位置

navigator.geolocation.getCurrentPosition(showPosition)

多媒体

在网页里播放音频和视频的新的Api

video,audio系列API

拖放

优化了原生JavaScript实现的拖放

ondragstart、setData()、ondragover、ondrop

history

window对象通过history对象提供了对浏览器历史的访问

pushState()、replaceState()

网络状态

HTML5网络状态检测

window.ononline、window.onoffline

WebWorker

web worker 是运行在后台的 JavaScript,不会影响页面的性能

new Worker()、postMessage()

WebSocket

WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议

Socket.send()、Socket.close()

以上可见,HTML5新增的API,是离不开JavaScript的,JavaScript是前端开发的核心,只学HTML5,或者说只学HTML5标签是不能进行前端开发的,或者这样说本来就是不全面的,因为HTML5是包含JavaScript Api的。

目前,大前端的概念已经深入人心,大前端开发的职业前景越发的广阔,Google fluter,人工智能(AI)在前端的应用赋能大前端开发,使这些从业者越来越抢手。

大前端开发包括很多内容: HTML5,CSS3,JavaScript,ES,TypeScript,BootStrap,jQuery,Vue.js, React, RN, Angular, 各类小程序,JavaScript库,前端开发工具,Node.js,状态管理,桌面开发(Electron), 前端单元测试,服务器,Socket编程,服务端渲染,前端架构等等。

小白入门,一时间还真有点无从下手。如果基础好,自学能力强,自制能力强,可以买些书籍或视频学习,如果想系统的短期速成,可以考虑报个培训班。

希望能帮到你,祝你早日炼成前端达人。

好程序员技术分享html5和JavaScript的区别的更多相关文章

  1. 好程序员技术教程分享JavaScript运动框架

    好程序员技术教程分享JavaScript运动框架,有需要的朋友可以参考下. JavaScript的运动,即让某元素的某些属性由一个值变到另一个值的过程.如让div的width属性由200px变到400 ...

  2. 【原文】前端程序员必须知道的高性能Javascript知识

    原文:前端程序员必须知道的高性能Javascript知识 想必大家都知道,JavaScrip是全栈开发语言,浏览器,手机,服务器端都可以看到JS的身影. 本文会分享一些高效的JavaScript的最佳 ...

  3. 自学android半年,已从.net转型成android程序员,分享下这个过程

    自学从来都是一件难以坚持的事情,看过太多人三分钟热度之后就颓然放弃,然后告诉下一个要自学的人,自学很难,还是正儿八经去培训机构吧 所以首先你要对安卓开发非常感兴趣,发自内心喜欢安卓系统,日常手机如果是 ...

  4. 【好程序员笔记分享】——iOS开发之纯代码键盘退出

    -iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS开发之纯代码键盘退出(非常简单)     iOS开发之纯代码键盘退出 前面说到了好几次关于键盘退出的,但 ...

  5. 非名校毕业年薪20W程序员 心得分享

    大家好,我是落落http://blog.csdn.net/robinson1988/ QQ692162374,其实我选择Oracle是一件很神奇的事情,但是现在回想起来又觉得是命中注定.我2006年就 ...

  6. 黄文俊:Serverless小程序后端技术分享

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 黄文俊,现任腾讯云SCF无服务器云函数高级产品经理,多年企业级系统开发和架构工作经验,对企业级存储.容器平台.微服务架构.无服务器计算等领域 ...

  7. 关于PHP程序员技术职业生涯规划

    看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是学习各种PHP框架 ...

  8. 关于PHP程序员技术职业生涯规划[转]

    看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是学习各种PHP框架 ...

  9. 关于PHP程序员技术职业生涯规划 转自 韩天锋

    转自 http://rango.swoole.com/ 看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些, ...

随机推荐

  1. TTL 和 DNS TTL 的区别

    TTL TTL是 Time To Live 的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量.TTL是IPv4包头的一个8 bit字段.在IPv4包头中TTL是一个8 bit字段,它位于 ...

  2. “.Net 社区大会”(dotnetConf) 2018 Day 1 主题演讲

    Miguel de Icaza.Scott Hunter.Mads Torgersen三位大咖给大家带来了 .NET Core ,C# 以及 Xamarin的精彩内容: 6月份已经发布了.NET Co ...

  3. Linux 桌面玩家指南:15. 深度学习可以这样玩

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  4. Nginx/LVS/HAProxy 负载均衡软件的优缺点详解

    Nginx/LVS/HAProxy 负载均衡软件的优缺点详解   Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验 ...

  5. SQLI LABS Stacked Part(38-53) WriteUp

    这里是堆叠注入部分 less-38: 这题啥过滤都没有,直接上: ?id=100' union select 1,2,'3 less-39: 同less-38: ?id=100 union selec ...

  6. 处理SQL Server中的重复行

    如果表中的数据需要基于行中的多个值具有唯一约束,则适合的解决方案将是复合健. 复合主键 使用SQL Server语法创建符合主键非常简单. create table my_parts ( id_par ...

  7. Node.js 命令行工具的编写

    日常开发中,编写 Node.js 命令行工具来完成一些小任务是很常见的操作.其编写也不难,和日常编写 Node.js 代码并无二致. package.json 中的 bin 字段 一个 npm 模块, ...

  8. linux-2.6.18源码分析笔记---中断

    一.中断初始化 中断的一些硬件机制不做过多的描述,只介绍一些和linux实现比较贴近的机制,便于理解代码. 1.1 关于intel和linux几种门的简介 intel提供了4种门:系统门,中断门,陷阱 ...

  9. 学JAVA第十二天,今天写java控制台输入流及String的类型转换

    今天老师讲了一天狗跳楼的问题,昨天解开始说了,今天都没讲新课, 所以,今天自学了Scanner类及String的类型转换 先来Scanner类实现键盘输入功能: 代码: package pkg1; i ...

  10. 【转】使用MySQL处理百万级以上数据时,不得不知道的几个常识

    ---------------------------------------------------------------------------------------------------- ...