html5入门教程,html5零基础入门教程PDF

  html5入门教程,html5零基础入门教程PDF

  本文由葡萄城技术团队原创并首发。

  在上一篇文章中,我们已经介绍了HTML5的新内容和基本页面布局。本文将继续从广义上介绍HTML5的另一个组件:JavaScript数据类型。

  作为一种弱类型语言,JavaScript的特点是动态类型。也就是说,不需要事先声明变量的类型。当程序运行时,类型将被动态确定,并且变量的类型可以在执行过程中被动态修改。同时,不同类型的变量在运算时会自动进行隐式类型转换。以下是隐式转换的一些常见示例:

  var foo=2020//type of foo- number var foo= spread js //type of foo- string var foo=true 1;//foo=2 type of foo- number var foo=true false;//foo=1 type of foo- number var foo= 5 - 2 ;//foo=3 type of foo- number var foo=20 20 spread js //foo= 40 spread js type of foo- string var foo= spread js 20 20//O= 40 spread js type of foo- string 根据最新的ECMAScript标准定义了八种数据类型:

  其中是原始类型:布尔、空、未定义、数字、BigInt、字符串、符号和对象类型:对象

  关于原始类型需要知道的几个知识点:

  类型的原始值是通过值来访问的,即在赋值和修改值时,是通过值传递来完成的。分配或修改变量值将重新分配内存空间。

  例如:

  变量a,b,x,y;a= SpreadJSb= GrapeCityx=a;y=b;console.log(a,b,x,y);//结果:spread js grapecity spread js grapecity A和X,B和Y是完全独立的副本,互不干扰。如果我们再次更改其中任何一个变量的值,其他具有相同值的变量将不会受到任何影响。

  严格相等===和非严格相等==对于原类型,==只比较值;如果是不同类型,转换后进行比较;==它会比较数据类型。

  例如:

  Undefined===null//fashion undefined==null//true true===1//fashion true==1//true null==0//false null和undefined在使用上几乎没有区别,当使用非严格的等式比较时,结果也是true。两者的区别在于,在进行数值转换时,它们的字面意义不同。undefined代表undefined,转换为数值NaN,null为空,转换为数值时为0。

  例如:

  number(undefined)//nan number(null)//01 undefined//nan 1 null//1虽然二者差别不大,但不会严格按照上述区分使用,但在实际项目应用中,需要考虑null值的判断。

  NaN不是数字,表示非数字类型。任何带nan的操作的返回值都是NaN,NaN不等于NaN。有一个全局方法isNaN(),用来检查一个值是否能被Number()成功转换。如果转换成功,则返回false,否则返回true。

  例如:

  NaN==NaN//fasleisNaN(123) //false可以转换isNaN(abc) //true不能转换浮点精度错误。在JavaScript中,整数和浮点数都是数字数据类型,所有数字都存储为64位浮点数,也就是说JavaScript底层没有整数,1和1.0也是一样的。

  这里有几个例子来说明:

  //加法0.1 0.2=0.300000000000000040.1 0.7=0.799999999999990.2 0.4=0.6000000000001//减法0.3-0.2=0.099999999981.5-1.2=0.30000000000004//乘法0.4这里,我们不会开始解释错误的原因。你可以自己研究它们。我们只简单列出解决方案。1.可以参考Math.js,decimal.js,big.js 2这样的类库。对于不要求高数字精度的系统,可以格式化并保留X位小数进行处理。3.计算时,先分别计算小数部分和整数部分再组合,以此类推。

  关于引用类型需要知道的几个知识点:

  引用类型的值是通过引用访问的。操纵对象时,实际上是操纵对象的引用,而不是实际的对象。给变量赋值会改变对象的引用关系。

  例如:

  var obj 1={ a:1 };var obj2=obj1obj 1 . a=2;console . log(obj 2 . a)//结果:2。obj1和obj2是同一个对象obj 1={ a:3 };console . log(obj 2 . a)//结果:2。obj1指向一个新对象。obj2不变。引用类型==和==具有相同的含义。都是引用比较,即是否是同一个对象。类型之间的非严格相等==比较类型转换请参考下表。

  可比价值b

  不明确的

  空

  数字

  线

  布尔代数学体系的

  目标

  可比价值a

  不明确的

  真实的

  真实的

  错误的

  错误的

  错误的

  IsFalsy(B)

  空

  真实的

  真实的

  错误的

  错误的

  错误的

  IsFalsy(B)

  数字

  错误的

  错误的

  A===B

  A===ToNumber(B)

  A===ToNumber(B)

  A==ToPrimitive(B)

  线

  错误的

  错误的

  ToNumber(A)===B

  A===B

  to number(A)==to number(B)

  top primitive(B)==A

  布尔代数学体系的

  错误的

  错误的

  ToNumber(A)===B

  to number(A)==to number(B)

  A===B

  ToNumber(A)==ToPrimitive(B)

  目标

  错误的

  错误的

  top primitive(A)==B

  top primitive(A)==B

  top primitive(A)==to number(B)

  A===B

  类型检测

  JavaScript中类型检测的方法有很多,比如typeof、instanceof、Object.prototype.toString、constructor、duck type等。

  虽然方法很多,但是有两种判断思路:1、根据数据类型判断2、根据构造函数判断。

  Typeof可以判断数据类型。根据前面的介绍,javascript变量类型分为值类型和引用类型,应用场景中只能区分值类型的数据类型,例如:

  type 42// number typeof { }/ object type of undefined// undefined instance of与type of一样,用于确定引用类型的数据类型。

  示例:

  (function(){})函数的实例

  其他还有Object.prototype.toString,constructor和duck type,这里就不介绍了。

  在了解了JavaScript的基本数据类型知识后,我们将在后面继续为您介绍CSS相关内容。

  以上是孟新html5的介绍指南(二)的详细内容。更多关于孟新HTML5的介绍,请关注其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: