




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
破JavaScript,而后立,赵子东 T+研发本部,畅捷通信息技术股份有限公司2013年8月,目录,1.关于JavaScript 2.基础 3.其它 4.推荐阅读,1.1 关于JavaScript 始于1995,1995年,Brendan说服Netscape的老板说在netscape中需要一个属于自己的脚本语言,在考察了Scheme和Java之 后,10天之内,Brendan实现了JavaScript引擎的基本原型。,1.2 JavaScript引擎,Mozilla SpiderMonkey,第一款JavaScript引擎,由Brendan Eich在Netscape Communications时编写,用于Mozilla Firefox 1.03.0版本。 Rhino,由Mozilla基金会管理,开放源代码,完全以Java编写。 TraceMonkey,基于实时编译的引擎,其中部份代码取自Tamarin引擎,用于Mozilla Firefox 3.53.6版本。 JaegerMonkey,德文Jger原意为猎人,结合追踪和组合码技术大幅提高性能,部分技术借凿了V8、JavaScriptCore、WebKit,用于Mozilla Firefox 4.0以上版本。 IonMonkey,可以对JavaScript编译后的结果进行优化,用于Mozilla Firefox 18.0以上版本。 OdinMonkey,可以对asm.js进行优化,用于Mozilla Firefox 22.0以上版本。 Google V8,开放源代码,由Google丹麦开发,是Google Chrome的一部分。 微软 Chakra (JScript引擎),中文译名为查克拉,用于Internet Explorer 9的32位版本1及Internet Explorer 10。 Opera Linear A,用于Opera 4.06.1版本。 Linear B,用于Opera 7.09.2版本。 Futhark,用于Opera 9.510.2版本。 Carakan,由Opera软件公司编写,自Opera10.50版本开始使用。,1.3 JavaScript框架,Jquery Dojo ExtJS Prototype YUI Library Rico script.aculo.us ,1.4.1 开源协议-BSD,BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。 对 商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。,1.4.2 开源协议- Apache Licence,Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:需要给代码的用户一份Apache Licence如果你修改了代码,需要再被修改的文件中说明。在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。,1.4.3 开源协议- GPL(1),我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代 码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商 业软件公司开发的免费软件了。GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。,1.4.3 开源协议- GPL(2),由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。,1.4.4 开源协议- LGPL,LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL 允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并 发布和销售。但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源 代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。 GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品,1.4.5 开源协议- MIT,MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的.,目录,2.1 程序员困境:底层编码能力正逐步丧失,按照已有的思路去开发,无需自己动脑、去思考。如果长期在这样的环境下工作,并且也没有在外部进行提升和开阔,多年以后,你会发现自己处于很可怜的位置在公司内部或团队里声称是“专家”,然而不幸地是,你却不能在市场找到一个与之平等的工作。我们通过编码谋生,但环境却正在摧毁我们这种谋生的能力。,2.2 类型,undefined null boolean Number String = 与=,2.2 类型(2),为什么T+系统的数值型整数位+小数位加起来=15位? 2 52 2.2204516,2.3 作用域,var 与 无var 内部属性scope,2.3 作用域(2),2.3 作用域(3),2.4 和 . 运算符,var o = id: “11111”; Add:function() return 1 o.id o“id”,2.5 闭包,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 var person=function() var name=“default”; retturn getName:function() return name; Print(); Print(person.getName();,2.6 闭包注意事项,内存泄露: /tech/web/2008/5679.asp 上下文环境(this):,2.7 Class在哪里?,JavaScript原型化继承的面向对象脚本语言,2.8 面向对象三个特性:封装、继承和多态,闭包,var ,prototype,2.9 JSON 与Ajax,序列化的javascript对象 Ajax: Asynchronous JavaScript and XML,2.10 JavaScript响应,在浏览器中,用于执行JavaScript和更新用户界面的进程通常被称为UI线程。UI线程的工作基于一个简单的队列系统,任务会被保存到队列中知道进程空闲。一旦空闲,队列中的下一个任务就会被重新提取出来进行执行。这些任务要么是JavaScript代码运行,要么就是执行UI更新,包括重绘和重排。然而,在这个进程中,每一次输入都可能导致一个或多个任务被加入队列中。,2.10 JavaScript响应(2),目录,1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年河南省豫地科技集团有限公司招聘真题
- 林地转让协议书
- 《建筑施工安全检查标准》图解
- 石大学前儿童保育学课件6-1集体儿童膳食预防食物中毒
- 城市与乡村文化互鉴与融合-洞察阐释
- 重庆菜籽油生产线项目可行性研究报告(参考模板)
- 玩具与文体用品企业经营管理方案
- 2025至2030年中国电子五金制品行业投资前景及策略咨询报告
- 2025至2030年中国理石漆行业投资前景及策略咨询报告
- 2025至2030年中国牛外脊行业投资前景及策略咨询报告
- 头颈部鳞状细胞癌 PDL1 表达临床病理检测中国专家共识(2024版)
- 砂金矿勘探合作协议书范文模板
- 大型机械运输服务方案
- 《少年有梦》大单元教学设计
- Python程序设计项目化教程(微课版)张玉叶课后习题答案
- 廉江旅游策划方案
- 喷漆房改造施工协议书模板
- 2024年江苏南通苏北七市高三三模高考数学试卷试题(含答案详解)
- 总复习(教案)2023-2024学年数学 四年级下册 北师大版
- 清洁生产评价指标体系再生铝行业
- 湖北省十堰市2023-2024学年高一下学期6月期末调研考试数学试卷
评论
0/150
提交评论