ImageVerifierCode 换一换
格式:DOCX , 页数:46 ,大小:3.94MB ,
资源ID:15952892      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15952892.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(悟透JavaScriptWord文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

悟透JavaScriptWord文件下载.docx

1、然而,就是在数据和代码间这种即矛盾又统一的运转中,总能体现出计算机世界的规律,这些规律正是我们编 写的程序逻辑。不过,由于不同程序员有着不同的世界观,这些数据和代码看起来也就不尽相同。于是,不同世界观的程序员们运用各自的方法论, 推动着编程世界的进化和发展。众所周知,当今最流行的编程思想莫过于面向对象编程的思想。为什么面向对象的思想能迅速风靡编程世界呢?因为面向对象的思 想首次把数据和代码结合成统一体,并以一个简单的对象概念呈现给编程者。这一下子就将原来那些杂乱的算法与子程序,以及纠缠不 清的复杂数据结构,划分成清晰而有序的对象结构,从而理清了数据与代码在我们心中那团乱麻般的结。我们又可以有一

2、个更清晰的思 维,在另一个思想高度上去探索更加浩瀚的编程世界了。在五祖弘忍讲授完对象真经之后的一天,他对众弟子们说:“经已讲完,想必尔等应该有所感悟,请各自写个偈子来看”。大弟子 神秀是被大家公认为悟性最高的师兄,他的偈子写道:“身是对象树,心如类般明。朝朝勤拂拭,莫让惹尘埃!”。此偈一出,立即引起 师兄弟们的轰动,大家都说写得太好了。只有火头僧慧能看后,轻轻地叹了口气,又随手在墙上写道:“对象本无根,类型亦无形。本来 无一物,何处惹尘埃?然后摇了摇头,扬长而去。大家看了慧能的偈子都说:“写的什么乱七八糟的啊,看不懂”。师父弘忍看了神秀 的诗偈也点头称赞,再看慧能的诗偈之后默然摇头。就在当天夜

3、里,弘忍却悄悄把慧能叫到自己的禅房,将珍藏多年的软件真经传授于 他,然后让他趁着月色连夜逃走.后来,慧能果然不负师父厚望,在南方开创了禅宗另一个广阔的天空。而慧能当年带走的软件真经中就有一本是JavaScript 真经! 回归简单要理解 JavaScript,你得首先放下对象和类的概念,回到数据和代码的本原。前面说过,编程世界只有数据和代码两种基本元素, 而这两种元素又有着纠缠不清的关系。JavaScript 就是把数据和代码都简化到最原始的程度。JavaScript 中的数据很简洁的。简单数据只有 undefined, null, boolean, number 和 string 这五种,而

4、复杂数据只有一种,即object。这就好比中国古典的朴素唯物思想,把世界最基本的元素归为金木水火土,其他复杂的物质都是由这五种基本元素组成。JavaScript 中的代码只体现为一种形式,就是 function。注意:以上单词都是小写的,不要和 Number, String, Object, Function 等 JavaScript 内置函数混淆了。要知道,JavaScript语言是区分大小写的呀!任何一个 JavaScript 的标识、常量、变量和参数都只是 unfined, null, bool, number, string, object 和 function 类型中的一 种,也就

5、typeof 返回值表明的类型。除此之外没有其他类型了。先说说简单数据类型吧。undefined: 代表一切未知的事物,啥都没有,无法想象,代码也就更无法去处理了。 注意:typeof(undefined) 返回也是 undefined。可以将 undefined 赋值给任何变量或属性,但并不意味了清除了该变量,反而会因此多了一个属性。null: 有那么一个概念,但没有东西。无中似有,有中还无。虽难以想象,但已经可以用代码来处理了。typeof(null)返回 object,但 null 并非 object,具有 null 值的变量也并非 object。boolean: 是就是,非就非,没有疑

6、义。对就对,错就错,绝对明确。既能被代码处理,也可以控制代码的流程。number: 线性的事物,大小和次序分明,多而不乱。便于代码进行批量处理,也控制代码的迭代和循环等。typeof(NaN)和 typeof(Infinity)都返回 number 。NaN 参与任何数值计算的结构都是 NaN,而且 NaN != NaN 。Infinity / Infinity = NaN 。string: 面向人类的理性事物,而不是机器信号。人机信息沟通,代码据此理解人的意图等等,都靠它了。 简单类型都不是对象,JavaScript 没有将对象化的能力赋予这些简单类型。直接被赋予简单类型常量值的标识符、变量

7、和参数都不是一个对象。所谓“对象化”,就是可以将数据和代码组织成复杂结构的能力。JavaScript 中只有 object 类型和 function 类型提供了对象化的能 力。没有类object 就是对象的类型。在 JavaScript 中不管多么复杂的数据和代码,都可以组织成 object 形式的对象。 但 JavaScript 却没有 “类”的概念!对于许多面向对象的程序员来说,这恐怕是 JavaScript 中最难以理解的地方。是啊,几乎任何讲面向对象的书中,第一个要讲的就 是“类”的概念,这可是面向对象的支柱。这突然没有了“类”,我们就象一下子没了精神支柱,感到六神无主。看来,要放下对

8、象和类, 达到“对象本无根,类型亦无形”的境界确实是件不容易的事情啊。这样,我们先来看一段 JavaScript 程序:var life = ;for(life.age = 1; life.age = 3; life.age+)switch(life.age)case 1: life.body = 卵细胞;life.say = function()alert(this.age+this.body);break;case 2: life.tail = 尾巴 life.gill = 腮蝌蚪life.say = function()alert(this.age+this.body+-+this.ta

9、il+,+this.gill);case 3: delete life.tail;delete life.gill; life.legs = 四条腿 life.lung = 肺青蛙+this.legs+this.lung);life.say();这段 JavaScript 程序一开始产生了一个生命对象 life,life 诞生时只是一个光溜溜的对象,没有任何属性和方法。在第一次生命过程中,它有了一个身体属性 body,并有了一个 say 方法,看起来是一个“卵细胞”。在第二次生命过程中,它又长出了“尾巴”和“腮”, 有了 tail 和 gill 属性,显然它是一个“蝌蚪”。在第三次生命过程中,

10、它的 tail 和 gill 属性消失了,但又长出了“四条腿”和“肺”,有了 legs 和 lung 属性,从而最终变成了“青蛙”。如果,你的想像力丰富的话,或许还能让它变成英俊的“王子”,娶个美丽的“公主”什么的。不过, 在看完这段程序之后,请你思考一个问题:我们一定需要类吗? 还记得儿时那个“小蝌蚪找妈妈”的童话吗?也许就在昨天晚,你的孩子刚好是在这个美丽的童话中进入梦乡的吧。可爱的小蝌蚪也就是在其自身类型不断演化过程中,逐渐变成了和妈妈一样的“类”,从而找到了自己的妈妈。这个童话故事中蕴含的编程哲理就是:对象的“类”是从无到有,又不断演化,最终又消失于无形之中的.“类”,的确可以帮助我们

11、理解复杂的现实世界,这纷乱的现实世界也的确需要进行分类。但如果我们的思想被“类”束缚住了,“类” 也就变成了“累”。想象一下,如果一个生命对象开始的时就被规定了固定的“类”,那么它还能演化吗?蝌蚪还能变成青蛙吗?还可以给 孩子们讲小蝌蚪找妈妈的故事吗?所以,JavaScript 中没有“类”,类已化于无形,与对象融为一体。正是由于放下了“类”这个概念,JavaScript 的对象才有了其他编 程语言所没有的活力。如果,此时你的内心深处开始有所感悟,那么你已经逐渐开始理解 JavaScript 的禅机了。 函数的魔力接下来,我们再讨论一下 JavaScript 函数的魔力吧。JavaScript

12、 的代码就只有 function 一种形式,function 就是函数的类型。也许其他编程语言还有 procedure 或 method 等代码 概念,但在 JavaScript 里只有 function 一种形式。当我们写下一个函数的时候,只不过是建立了一个 function 类型的实体而已。请 看下面的程序:function myfunc()alert(hello);alert(typeof(myfunc);这个代码运行之后可以看到 typeof(myfunc)返回的是 function。以上的函数写法我们称之为“定义式”的,如果我们将其改写成下 面的“变量式”的,就更容易理解了:var

13、myfunc = function ()这里明确定义了一个变量 myfunc,它的初始值被赋予了一个 function 的实体。因此,typeof(myfunc)返回的也是 function。其 实,这两种函数的写法是等价的,除了一点细微差别,其内部实现完全相同。也就是说,我们写的这些 JavaScript 函数只是一个命了 名的变量而已,其变量类型即为 function,变量的值就是我们编写的函数代码体。聪明的你或许立即会进一步的追问:既然函数只是变量,那么变量就可以被随意赋值并用到任意地方啰? 我们来看看下面的代码:myfunc(); /第一次调用 myfunc,输出 hellomyfunc = function ()yeah /第二次调用 myfunc,将输出 yeah这个程序运行的结果告诉我们:答案是肯定的!在第一次调用函数之后,函数变量又被赋予了新的函数代码体,使得第二次调用该 函数时,出现了不同的输出。好了,我们又来把上面的代码改成第一种定义式的函数形式:function myfunc ()alert(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1