html5心得体会

2017/11/18 16:18:00 手机版

学习完html5之后,想要写一篇心得体会却不知从何下手,html5心得体会由小编整理,望对你有所帮助。

学习html5的体会【1】

html常用标签你全都认识并能说出它们相同、和不同的特性吗?

css中所有属性是否熟悉?特别是css3中的新特性和动画?

是否已经完全明白java面向对象、闭包、原型链、作用域等概念,并能熟练运用?

是否掌握了一系列java性能优化的方法和经验?

问问自己,搞明白了吗?不明白要学习。。。

http://www.cnblogs.com/tim-li/archive/2012/08/06/2580252.html

context:一直觉得这个翻译成“上下文”真够蛋疼的,context是一个封装了很多绘图功能的对象,获取这个对象的方法是

var context =canvas.getcontext("2d");

也许这个2d勾起了大家的无限遐想,但是很遗憾的告诉你html5还只是个少女,不提供3d服务。

style:在进行图形绘制前,要设置好绘图的样式

context.fillstyle//填充的样式

context.strokestyle//边框样式

context.linewidth//图形边框宽度

颜色的表示方式:

直接用颜色名称:"red" "green" "blue"

十六进制颜色 : "#eeeeff"

rgb(1-255,1-255,1-255)

rgba(1-255,1-255,1-255,透明度)

一:绘制矩形 context.fillrect(x,y,width,height) strokerect(x,y,width,height) 注意:不设置颜色时默认是black。

/清除矩形 :context.clearrect(50,50,240,120)。

二:圆弧 context.arc(x, y, radius, starangle,endangle, anticlockwise)

straangle:开始角度;endangle结束角度;anticlockwise 顺时针:true,逆时针:false 无论顺时针、逆时针角度都沿着顺时针扩张。

三:路径 context.beginpath() context.closepath()

系统默认在绘制第一个路径的开始点为beginpath

2、如果画完前面的路径没有重新指定beginpath,那么画第其他路径的时候会将前面最近指定的beginpath后的全部路径重新绘制

3、每次调用context.fill()的时候会自动把当次绘制的路径的开始点和结束点相连,接着填充封闭的部分

ps:书本的结论是 如果没有closepath那么前面的路劲会保留,实验证明正确的结论是 如果没有重新beginpath那么前面的路劲会保留

html5 学习心得【2】

1 video 标签

hello world

属性说明:controls="controls" : 显示控件,比如播放按钮

: 页面加载后,立即播放视频

preload="preload" : 页面加载后,预备播放

loop="loop" : 循环播放

2 audio 标签

hello world

3 canvas 标签

your browser does not support the canvas element.

4 web 存储

html5 提供了两种在客户端存储数据的新方法:

localstorage - 没有时间限制的数据存储

sessionstorage - 针对一个 session 的数据存储

例1:

例2:统计访客数量

5 input

email

url

number

step: 规定合法的数字间隔(如果 step="3",则合法的数是 -3,0,3,6 等)

range

date pickers (date, month, week, time, datetime, datetime-local)

date - 选取日、月、年

month - 选取月、年

week - 选取周和年

time - 选取时间(小时和分钟)

datetime - 选取时间、日、月、年(utc 时间)

datetime-local - 选取时间、日、月、年(本地时间)

search

color

6 datalist

webpage:

7 multiple 属性

multiple 属性规定输入域中可选择多个值。

8 placeholder 属性

placeholder 属性提供一种提示(hint),描述输入域所期待的值。

提示(hint)会在输入域为空时显示出现,会在输入域获得焦点时消失

9 required 属性

required 属性规定必须在提交之前填写输入域(不能为空)。

10 form 属性

formaction - 重写表单的 action 属性

formenctype - 重写表单的 enctype 属性

formmethod - 重写表单的 method 属性

formnovalidate - 重写表单的 novalidate 属性

formtarget - 重写表单的 target 属性

e-mail:

11 autofocus 属性

autofocus 属性规定在页面加载时,域自动地获得焦点。

html5培训学习经验心得体会【3】

前言

分享下html5培训曾经见过的一道面试题,此题是用来考核面试者的java的综合能力,很可惜到目前为止的将近两年中,几乎没有人能够完全答对,并非多难只是因为大多面试者过于轻视他。

题目如下:

function foo() {getname = function () { alert (1); };return this;}foo.getname = function () { alert (2);};foo.prototype.getname = function () { alert (3);};var getname = function () { alert (4);};function getname() { alert (5);}//请写出以下输出结果:foo.getname();getname();foo().getname();getname();new foo.getname();new foo().getname();new new foo().getname();

答案是:function foo() {getname = function () { alert (1); };return this;}foo.getname = function () { alert (2);};foo.prototype.getname = function () { alert (3);};var getname = function () { alert (4);};function getname() { alert (5);}//答案:foo.getname();//2getname();//4foo().getname();//1getname();//1new foo.getname();//2new foo().getname();//3new new foo().getname();//3此题是html5培训综合之前的开发经验以及遇到的js各种坑汇集而成。此题涉及的知识点众多,包括变量定义提升、this指针指向、运算符优先级、原型、继承、全局变量污染、对象属性及原型属性优先级等等。

此题包含7小问,分别说下。

第一问

先看此题的上半部分做了什么,首先定义了一个叫foo的函数,之后为foo创建了一个叫getname的静态属性存储了一个匿名函数,之后为foo的原型对象新创建了一个叫getname的匿名函数。之后又通过函数变量表达式创建了一个getname的函数,最后再声明一个叫getname函数。

第一问的 foo.getname 自然是访问foo函数上存储的静态属性,自然是2,没什么可说的。

第二问

第二问,直接调用 getname 函数。既然是直接调用那么就是访问当前上文作用域内的叫getname的函数,所以跟1 2 3都没什么关系。此题有无数面试者回答为5。此处有两个坑,一是变量声明提升,二是函数表达式。

变量声明提升

即所有声明变量或声明函数都会被提升到当前函数的顶部。

例如下代码:

console.log( x in window);//truevar x;x = 0;

代码执行时js引擎会将声明语句提升至代码最上方,变为:

var x;console.log( x in window);//truex = 0;

函数表达式

var getname 与 function getname 都是声明语句,区别在于 var getname 是函数表达式,而 function getname 是函数声明。

函数表达式最大的问题,在于js会将此代码拆分为两行代码分别执行。

例如下代码:

console.log(x);//输出:function x(){}var x=1;function x(){}

实际执行的代码为,先将 var x=1 拆分为 var x; 和 x = 1; 两行,再将 var x; 和 function x(){} 两行提升至最上方变成:

var x;function x(){}console.log(x);x=1;

所以最终函数声明的x覆盖了变量声明的x,log输出为x函数。

同理,原题中代码最终执行时的是:

function foo() {getname = function () { alert (1); };return this;}var getname;//只提升变量声明function getname() { alert (5);}//提升函数声明,覆盖var的声明foo.getname = function () { alert (2);};foo.prototype.getname = function () { alert (3);};getname = function () { alert (4);};//最终的赋值再次覆盖function getname声明getname();//最终输出4

第三问

第三问的 foo().getname(); 先执行了foo函数,然后调用foo函数的返回值对象的getname属性函数。

foo函数的第一句 getname = function () { alert (1); }; 是一句函数赋值语句,注意它没有var声明,所以先向当前foo函数作用域内寻找getname变量,没有。再向当前函数作用域上层,即外层作用域内寻找是否含有getname变量,找到了,也就是第二问中的alert(4)函数,将此变量的值赋值为 function(){alert(1)}。

此处实际上是将外层作用域内的getname函数修改了。

注意:此处若依然没有找到会一直向上查找到window对象,若window对象中也没有getname属性,就在window对象中创建一个getname变量。

之后foo函数的返回值是this,而js的this问题博客园中已经有非常多的文章介绍,这里不再多说。

简单的讲,this的指向是由所在函数的调用方式决定的。而此处的直接调用方式,this指向window对象。

遂foo函数返回的是window对象,相当于执行 window.getname() ,而window中的getname已经被修改为alert(1),所以最终会输出1

此处考察了两个知识点,一个是变量作用域问题,一个是this指向问题。

第四问

直接调用getname函数,相当于 window.getname() ,因为这个变量已经被foo函数执行时修改了,遂结果与第三问相同,为1

第五问

第五问 new foo.getname(); ,此处考察的是js的运算符优先级问题。

js运算符优先级:

通过查上表可以得知点(.)的优先级高于new操作,遂相当于是:

new (foo.getname)();

所以实际上将getname函数作为了构造函数来执行,遂弹出2。

第六问

第六问 new foo().getname() ,首先看运算符优先级括号高于new,实际执行为

(new foo()).getname()

遂先执行foo函数,而foo此时作为构造函数却有返回值,所以这里需要说明下js中的构造函数返回值问题。

构造函数的返回值

在传统语言中,构造函数不应该有返回值,实际执行的返回值就是此构造函数的实例化对象。

而在js中构造函数可以有返回值也可以没有。

1、没有返回值则按照其他语言一样返回实例化对象。

2、若有返回值则检查其返回值是否为引用类型。如果是非引用类型,如基本类型(string,number,boolean,null,undefined)则与无返回值相同,实际返回其实例化对象。

3、若返回值是引用类型,则实际返回值为这个引用类型。

原题中,返回的是this,而this在构造函数中本来就代表当前实例化对象,遂最终foo函数返回实例化对象。

之后调用实例化对象的getname函数,因为在foo构造函数中没有为实例化对象添加任何属性,遂到当前对象的原型对象(prototype)中寻找getname,找到了。

html语言的实验体会心得,html5心得体会相关推荐

  1. c语言编程培训心得体会,编程培训个人心得体会 编程学习心得

    <编程培训个人心得体会 编程学习心得>由会员分享,可在线阅读,更多相关<编程培训个人心得体会 编程学习心得(4页珍藏版)>请在人人文库网上搜索. 1.编程培训个人心得体会 编程 ...

  2. 计算机vb实验感想,VB学习心得体会

    VB学习心得体会 VB学习心得体会 VB是一门程序设计语言,也需要一定的英语基础.VB既能充实我们的生活,武装我们的头脑,锻炼我们的意志,又能在以后需要的时候成为帮助我们成功的推进动力.对于VB的学习 ...

  3. php体验课心得体会,【授课心得】_授课心得体会(精选5篇)

    授课心得体会一:授课心得体会 非常感谢学校给我这次展示的机会,参加本次青年教师优质课评比活动,同时感谢在这个过程中给予我帮助的各位老师.作为一名青年教师应该如何来提高课堂教学质量呢?我认为应该尽力做好 ...

  4. 计算机信息安全 心得,信息安全心得体会精选.doc

    信息安全心得体会精选 信息安全心得体会 <信息安全>信息安全学习心得体会通过学习<信息安全>,我了解到信息化是社会发展的趋势随着我国信息化的不断推进,信息技术的应用已经渗透到工 ...

  5. 计算机组装训练知识总结,【计算机组装实训心得-其他心得体会材料】【全文可读】...

    1.软件的维护测试与性能优化计算机所做的切都是靠运行软件来完成的,所以软件的安装维护及性能的优化极为重要.软件系统软件系统软件是种综合管理计算机硬件和软件资源,为用户提供工作环境和开发工具的大型软件, ...

  6. 计算机微格教学心得体会,微格教学心得体会

    微格教学心得体会 微格教学心得体会 专业:2010级学科教学(英语) 姓名:钟珊珊 学号:201042034 指导老师:陈称福 通过这三轮的微格训练,我受到了很多的启发.我更加深刻地体会到了" ...

  7. java生命之树_珍惜生命的心得感想与体会

    珍惜生命的心得感想与体会 珍惜生命的心得感想与体会1 在骀荡的春风中,我独自漫步在小河堤,耳畔是百鸟的欢唱,扑鼻而来的是油菜花的芬芳,眼前是一望无际的原野,波光粼粼的河水在汩汩地流淌--到处都充满了生 ...

  8. 计算机应用课程的体会,计算机课程心得体会

    微机课心得2019-11-21 今天上午,我们全班同学去第三教学楼509教室上微机课.这节课上的是报表内容,其实在五一劳动节放假之前就已经讲过了,今天上的这堂课是通过做练习复习一下上次学的 计算机课程 ...

  9. 计算机绘图实训体会,CAD实习心得体会

    原标题:CAD实习心得体会 cad实习心得体会 一.课程实习的目的: 把握autocad用于工程制图的基本操作,了解工程图纸绘制的格式和要求,能够用autocad绘制二维的工程图纸和简单的三维图纸.并 ...

最新文章

  1. 手把手教你学Vue-3(路由)
  2. 端口保护:如果你不把我当回事,我就会让你好看
  3. 消除python变量的值_SPSS变量值标签的批量设置、复制、显示及删除问题
  4. CMFCTabCtrl 切换页面闪烁问题
  5. 7个相同小球4个不同盒子_【计算启蒙】4个游戏陪娃玩懂“数拆分”,加减法都不用愁!...
  6. hive 删除分区_数据仓库工具hive面试题集锦(纯干货)
  7. 【Flink】Flink Invalid timestamp -1 Timestamp should always be none-negative or null
  8. VMware下安装Linux,Centos-7-x86_64-NetInstall.iso版本
  9. ANSYS ICEM CFD 网格划分步骤简要总结
  10. 使用阿里云邮件推送服务发送验证码
  11. 抓取2021百科知识竞赛题库和答案
  12. 快来让你的网页色彩绚丽--linear-gradient与radial-gradient
  13. 三、数据需求与数据库设计
  14. hmailserver + afterlogic 搭建webmail
  15. 如何运行vue项目(详细步骤)
  16. 【MM表】MARD VS S032
  17. 中国省份名字的由来!
  18. python宿舍管理系統毕业设计源码231642
  19. POJ2965 The Pilots Brothers‘ refrigerator
  20. 半导体行业如何有效测量无尘净化车间内尘埃粒子数

热门文章

  1. Nonlinear isotropic diffusion filtering
  2. kajiya-kay 头发
  3. [图像检索] paddleclas pp-shitu v1/v2
  4. 4g没信号就无服务器,福特领界没有4G网络信号故障检修
  5. swift获取openuuid_iOS获取设备唯一标识:UDID、IDFA、IDFV、OpenIDFA、SimulateIDFA等.
  6. 网站流量很高,转化率却很低的原因有哪些
  7. java response.sendredirect_通过response对象的sendRedirect方法重定向网页
  8. 弘玑Cyclone RPA为国金证券提供技术支撑,超200个业务场景实现流程自动化
  9. 安装拨号软件和驱动程序
  10. Remote Sensing Images Semantic Segmentation with General Remote Sensing Vision Model via a Self-Supe