javascript 的实包含三部分:核心(ECMAScript ),文档对象模型(DOM),浏览器对象模型(BOM)
DOM:视图,事件,样式,便利和范围
BOM:窗口的打开和关闭,navigator对象,location对象,screen对象,cookie支持,XMLHttpRequest和IE的ActiveObject对象。
以下是容易出错的小点:
typeof undefined = undefined;
typeof NaN = number;
typeof Null = object;
NaN !=NaN
javascript中的数据类型包括两大块:基本类型值和应用类型值;
基本类型值:保存在栈内存中的简单数据段,这种值完全保存在内存的一个位置
引用类型值:保存在堆内的对象,变量中保存的实际是一个指针,这个指针指向内存的另一个位置,该位置保存对象。
基本类型值:undefined,Null,Boolean,Number,Srting
Object.
创建类的几种方案:
目前推荐的极简主义法
//按照java代码的格式,实现起来简单明了,这也是sina前端提倡的做法
二.有关ajax 跨域的一些总结
ajax跨域就是从aaa.com通过ajax来请求另个网站bbb.com的内容
解决方案:
1.通过修改document.domain和隐藏iframe来解决,他只能在同一顶级域名下访问;另外当包含其他iframe时可能异常
在index.html里面 改变域名aaa.com,同时自定义函数, 嵌入iframe
在pro.html里面,获取b.aaa.com中的内容,调用自定义函数
111.php中可以是些文本,这个随便
这只有当子域不同的时候才可以访问,相当于pro.html访问b.aaa.com下的111.php,然后index.html访问pro.html,这样的实现只有在子域不同而上级域名相同的情况,不同域不能实现访问!
2.通过请求当前域的代理去访问另一个资源,XMLHTTPRequest通过请求 本域内的一个服务器资源,将要访问的目标资源提供给服务器,交由服务器去代理访问目标资源。这种方案,可以实现完全的跨域访问,但是开发请求的消费很大。
3.通过HTML中可以请求跨域资源的标签引用来达到目的,script ,在请求,每一个资源脚本时,浏览器都会解析运行脚本文件中的定义的函数,或需要马上执行的js代码,我们可以通过服务器来返回一段脚本或者json对象,在浏览器执行,从而实现跨域。
jsonp实现:
在ajax.html中嵌入以下脚本,当页面加载的时候,script里面的代码将会执行,在访问111.php时,会触发callback回调函数,函数将会在本页面执行。
111.php: