




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、理解JavaScript的运行上下文及原型国际网站商机部 Hatter JiangUED Team Design1JavaScript的诞生JavaScript是一種广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。以它为基础,制定了ECMAScript标准。虽然更常用于网页,但JavaScript也可以用于其他场合,比如服务器端编程。2EcmaScript标准的重要历史版本版本发布日期说明11997/06首版21998/06格式修正,以使得其形式与ISO
2、/IEC16262国际标准一致31999/12强大的正则表达式,更好的文字链处理,新的控制指令,异常处理,错误定义更加明确,数据输出的格式化及其它改变4放 弃于关于语言的复杂性出现分歧,第4版本被放弃,其中的部分成为了第5版本及Harmony的基础。52009/12新增严格模式(strict mode),一个子集用作提供更彻底的错误检查,以避免结构出错。澄清了许多第3版本的模糊规范,and accommodates behaviour of real-world implementations that differed consistently from that specification
3、。增加了部分新功能,如getters及setters,支持JSON及更完整的反射在关于对象属性中。3EcmaScript的具体应用浏览器 (IE, FireFox, Safari, Chrome, Opera .)服务器 (ringojs, nodeJS .)Flash、Flex (ActionScript)SilverLightWScript、CScript (JScript)普通应用程序 (JScript.NET)应用软件插件4最简单的JavaScript脚本Title alert(Hello, world!); 5JavaScript中的对象在JavaScript几乎一切皆是对象Numb
4、er, String, Array, Function, etc.但和Java中类似,123这样的数字又和Number对象有所差别typeof 123typeof new Number(123)但和普通对象而言都可以看成一个Map,这个可以参看后面对方上下文的定义6实现一个简单的alert程序sample-closure-buggy.htm7JavaScript中的上下文是什么在JavaScript运行过程中所有的数据都是从上下文中直接或间接取得的,上下文我们可以看成这样的声明:Map context;所以上下文本身就是一个JS对象,但这个对象不是被显示引用的。8JavaScript中有哪些上
5、下文全局上下文全局上下文是在程序运行过程中由容器创建的,比如在浏览器中全局上下文就是window对象,其它容易可能没有一个全局上下文提供。函数上下文函数上下文是在函数运行过程中创建的,函数在声明的时候是不创建的。9JavaScript上下文代码举例var i = 123;var func = function(i) alert(i);/ 运行时创建上下文;func(321);sample-closure-buggy-explain.htmsample-closure-fixed.htmsample-closure-fixed-explain.htm10JavaScript上下文的作用域全局上下
6、文顾名思义,全局上下文的作用域是全局的,即在当前JS应用中都可以访问到,在浏览器中可能通过window对象引用。函数上下文函数上下文即只在函数运行过程中存在,但当函数上下文中的变量被外部引用的时候,该上下文会生存到引用被消除的时候。sample-context-reference.htm11JavaScript中变量访问如何查找上下文全局上下文函数1上下文当前函数上下文函数2上下文查找变量:i ?是否在当前上下文?不存在则往上找。如果全局上下文也不存在,则返回 undefined。sample-context.htm12JavaScript中面向对象编程function Person(name
7、) = name;var p = new Person(Hatter Jiang);alert();13JavaScript创建构造函数及原型对象function Person(name) = name;var p = new Person(Hatter Jiang);alert();alert(p.sex);alert(p.age);Ptotype.sex = male;alert(p.sex);p.age = 27;alert(p.age);14JavaScript中的原型链访问顺序OtotypeCtotypeInstance读写如果从原型链都读不到数据,则返回undefined15JavaScript编程工具介绍IDEVisual Studio :( 收费软件Aptana :-) 免费软件Komodo Edit :-D 也免费软件Tools16EcmaScript5的特性介绍Native JSONArray ExtrasObjectProperty DescriptorGetters and SettersStrict Mode
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025物流服务合同协议书样本
- 2025排水系统修复工程合同
- 2025签订汽车租赁合同的注意事项
- 2025汽车维修服务合同模板
- 2025年度资产转让合同样本
- 2025简易装修房屋租赁合同
- 2024年膨化硝铵炸药项目项目投资申请报告代可行性研究报告
- 2025商业大厦办公室租赁合同模板
- 2025塑胶制品购销合同书样本
- 2025物业营销中心装修合同
- 第18课《井冈翠竹》课件-2024-2025学年统编版语文七年级下册
- 公立医院成本核算指导手册
- 第16课《有为有不为》公开课一等奖创新教学设计
- 小米创业思考(商业思考)
- 国开(甘肃)2024年春《地域文化(专)》形考任务1-4终考答案
- 年产10吨功能益生菌冻干粉的工厂设计改
- 基于深度学习的鸟类识别系统的设计与实现
- 实验室安全-电水气火的使用安全课件
- 【走向高考】(2013春季出版)高考物理总复习 模块整合课件 新人教版选修3-5
- 公路建设项目河大桥开工报告
- 2009研究生数值分析试题和答案-石家庄铁道大学(word文档良心出品)
评论
0/150
提交评论