日期:2014-05-17  浏览次数:20821 次

javascript和html5
javascript简单总结
如果要往html中的某个元素中添加text内容,obj.innerHtml=""
简单的js验证可以省略html文件中的html,head,title,body标记。
更简单的js验证可以使用javascript:URL伪协议来执行。

javascript程序是用Unicode字符集编写的,Unicode是16位的。
javascript是大小写敏感,而html不区分大小写,如属性onClick可以写成onclick,在javascript只能用onclick。
常量{x:1,y:2}为对象,[1,2,3,4]为数组

javascript只有局部变量(方法中定义的变量)和全局变量,没有块作用域的对象。
var a;
alert(a);//undefined

数值,布尔值,null和undefined属于基本类型,对象、数组和函数属于引用类型。
基本类型在内存中具有固定的大小,如数值在内存中占8个字节,数值类型是基本类型中最大的数据类型。

js中也有垃圾回收,自动进行的。

全局变量是全局对象的属性,而局部变量是一个特殊的调用对象的属性。

全局函数isNaN用于检测一个值是否是NaN。NaN与任何值都不等同,即a===NaN返回始终是false。NaN===NaN返回false。

===运算符比较两个值是否完全相等:
1,如果两个值的类型不同,不等
2,如果两个值类型为数字,而且值相同,除非有NaN,否则它们等同。
3,如果两个值类型为字符串,在同一个位置上的字符完全相同,就等同,否则不同。
4,如果两个值类型为布尔型,同为true或同为false视为等同,否则不同。
5,如果两个值引用的是同一个对象,数组或函数,那么它们等同,如果引用不同对象,即使两个对象具有完全相同的属性或值,也不等同。
6,如果两个值都是null或都是undefined,它们完全等同。
==运算符的判断规则
1,如果两个值的类型不同,则可能相等。
如果一个值是null,另一个值是undefined,它们相等。如果一个值是数字,另一个是字符串,把字符串转化为数字,再比较。
如果一个值为true,将它转化为1,为false,转化为0,再进行比较
如果一个值是对象,另一个值是数字或字符串,将对象转化成原始类型的值,再进行比较,如使用toString()或valueOf()方法


in运算符
in要求其左边的运算数是一个字符串,或可以被转化为字符串,右边的运算数是一个对象或数组。如果左边的值是右边对象的一个属性名,返回true。

instanceof运算符

typeof运算符
运算数是数字、字符串或布尔值,返回的结果为number,string,或boolean,对对象、数组和null,它返回的是object。对函数运算,返回的是function,如果运算数是未定义的,将返回undefined。

对象创建运算符new

delete运算符,删除运算数所指定的对象的属性、数组元素或变量。如果删除成功,返回true,如果不能删除,返回false。如果删除一个不存在的一个属性,将返回true。

函数定义在解析时发生,而不是在运行时发生。所以javascript中函数调用可以发生在函数定义的前面。

return语句只能出现在函数体内,return语句还可以不带参数来终止程序的执行,并不返回值。

throw语句和try/catch/finally语句都是与异常相关的语句。

with语句

创建对象,new var a=new Array();创建一个空数组

对象属性obj.atrr来引用属性
遍历对象的属性
for(var name in obj) alert(name);
检查属性的存在性,用in运算符,如判断obj对象是否有x属性,可以用if("x" in obj)来判断,但通常不用in,而是用
if(obj.x!==undefined) obj.x=1;如果查询并不存在的一个属性,会返回undefined值。注意,一个属性也可能已经存在但还是未定义,可能编写
obj.x=undefined。

删除属性,可以使用delete来删除一个对象的属性,   delete book.title。

通用的object属性和方法
1,constructor属性
每个对象都有一个constructor属性,引用了初始化这个对象的构造函数。
2,toString()方法,与java中对象的方法类似。
3,toLocaleString()方法,
4,valueOf()方法,当javascript需要把一个对象转化为某种基本数据类型,才调用的方法。
5,hasOwnProperty()方法
如果包括一个单独的字符串参数指定的名字来定义一个非继承的属性,返回为true,否则返回false。
html5简单总结
html5与之前的html版本无区别的元素

<base>,规定页面中所有链接的基准 url。如
<head>
<base href="http://www.w3school.com.cn/i/" />
</head>

<blockquote> 标签定义引用。
<col> 标签为表格中的一个或多个列定义属性值。您只能在表格或列组中使用该元素。
注释:col 元素是空元素。如需创建列,必须在 tr 元素内规定 td 元素。
提示:如果需要为一个或多个列规定属性值,请使用该元素。
提示:如果需要向一个列组规定相同的属性值,请使用 <colgroup> 元素。
<dl> 标签定义一个定义列表。




html5中不支持的元素

html5不支持frame和frameset,不支持applet元素,使用<object>代替,不支持big标签,用css代替,不支持<acronym>,使用<abbr>代替,
HTML 5 中,不支持<caption>标签。请使用 CSS 代替。不支持<center>标签,
html5中的div元素不支持align属性。
<iframe> 标签创建包含另一个文档的行内框架。
在 HTML 5 中,仅仅支持 src 属性
不支持<small><big>元素



html5新增元素

不同的文档声明:html5的文档类型声明:只有一个:<!DOCTYPE HTML>。
html5新标签<article>,<aside>,<audio>(定义声音,src属性),<canvas> 标签定义图形,比如图表和其他图像。
<command> 标签定义命令按钮,比如单选按钮、复选框或按钮。
<datagrid> 标签定义可选数据的列表。datagrid 作为树列表来显示。
<datalist> 标签定义可选数据的列表。与 input 元素配合使用,就可以制作出输入值的下拉列表。
<input id="myCar" list="cars" />
<datalist id="cars">
  <option value="BMW">
  <option value="Ford">
  <option value="Volvo">
</datalist>


<dialog> 标签定义对话,比如交谈。
<embed> 标签定义