现在工作当中接触到JS比较多一些,给大家写一点关于JS的,顺便总结,貌似本人喜欢总结。。。
JS诞生的原因是因为当年在拨号上网的年代,数据验证提交给服务器,数据传输很慢,等待很长时间之后发现数据没有通过验证。如此种种情况,1995年网景公司实现了自己的客户端脚本,获得成功之后,微软跟进,也开发了自己的JS。标准化势在必行,但是网景慢了一拍,最终网景和微软提交的规范提交给ECMA(欧洲计算机协会),有很多程序员组成的TC39锤炼出ECMA-262。至于后来的网景公司,演化成了firefox,这也是ie firefox从最开始就成了死对头,现在的谷歌V8 JS引擎要自谋出路了,拼接谷歌强大的技术,IE话语全越来越低,火狐现在也使用了谷歌的技术。
这个标准定义了哪些东西呢?仅仅是ECMAscript!它定义了JS的基础,比如语法,关键字和保留字,数据类型,运算符,流程控制等等。
一个完整的javascript包含ECMAscript和BOM、DOM。
JS数据类型:Undefined Null Boolean Number String Object //这里要说明的是没有Array类型,数组属于Object
typeof返回类型:undefined boolean number string object function
typeof(Null)返回object ,派生自Undefined类型。
关于函数的返回值:
return; return false; return true; return;语句是把控制权返回给页面 return false;阻止默认事件的执行
关于JS的对象:
JS是基于对象的,一切皆是对象。对象自然有方法和属性。最常用的alert()方法就是window对象的方法,等于window.alert();还有document.write()。这些是属于BOM和DOM的。ECMA核心只定义了两个对象Math和Global(encodeURI() eval()等方法属于Global对象)。JS对象有Array Boolean Date Math Number String RegExp Global Function Arguments(函数内部可用)等。
关于JS的对象和原型,前面已经讲过。
关于JS的变量、作用于、内存等问题,简单说明一下,IE低版本内存由于闭包等会溢出。变量加上var关键字有不同的含义,在函数体里面var会让变量属于局部变量,不加var关键字就是全局变量,注意这里说的是在函数体里面。if关键字没有块级作用域,比如if(var i=0;i<5;i++){}; //alert(i)正常输出 。
关于JS的BOM对象,主要是获取浏览器的信息,一般用来检测浏览器版本。
关于JS的DOM对象,这个很常用,web开发跟这个打交道的非常多。
关于JS的事件。
关于JS的错误处理。
关于JS的Cookie。
关于JS的XML JSON。
关于JS的XPath。
关于JS的Ajax。
最后的几点关于下次再详细讲一讲。