javascript最新版:悟透JavaScript整理版

数据天生就是文静总想保持自己固有本色;而代码却天生活泼总想改变这个世界
你看数据代码间关系和物质能量间关系有着惊人相似数据也是有惯性如果没有代码来施加外力她总保持自己原来状态而代码就象能量他存在就是要努力改变数据原来状态在代码改变数据同时也会数据抗拒而反过来影响或改变代码原有趋势甚至在某些情况下数据可以转变为代码而代码却又有可能被转变为数据或许还存在个类似E=MC2形式数码转换方程呢然而就是在数据和代码间这种即矛盾又统运转中总能体现出计算机世界规律这些规律正是我们编写逻辑
不过由于区别员有着区别世界观这些数据和代码看起来也就不尽相同于是区别世界观员们运用各自思路方法论推动着编程世界进化和发展
众所周知当今最流行编程思想莫过于面向对象编程思想为什么面向对象思想能迅速风靡编程世界呢?面向对象思想首次把数据和代码结合成统并以个简单对象概念呈现给编程者下子就将原来那些杂乱算法和子以及纠缠不清复杂数据结构划分成清晰而有序对象结构从而理清了数据和代码在我们心中那团乱麻般我们又可以有个更清晰思维在另个思想高度上去探索更加浩瀚编程世界了
在 5祖弘忍讲授完对象真经的后他对众弟子们说:“经已讲完想必尔等应该有所领悟请各自写个偈子来看”大弟子神秀是被大家公认为悟性最高师兄偈子写道:“身是对象树心如类般明朝朝勤拂拭莫让惹尘埃!”此偈立即引起师兄弟们轰动大家都说写得太好了只有火头僧慧能看后轻轻地叹了口气又随手在墙上写道:“对象本无根类型亦无形本来无何处惹尘埃?”然后摇了摇头扬长而去大家看了慧能偈子都说:“写什么乱 7 8糟看不懂”师父弘忍看了神秀诗偈也点头称赞再看慧能诗偈的后默然摇头就在当天夜里弘忍却悄悄把慧能叫到自己禅房将珍藏多年软件Software真经传授于他然后让他趁着月色连夜逃走...
后来慧能果然不负师父厚望在南方开创了禅宗另个广阔天空而慧能当年带走软件Software真经中就有本是JavaScript真经
回归简单
要理解JavaScript你得首先放下对象和类概念回到数据和代码本原前面说过编程世界只有数据和代码两种基本元素而这两种元素又有着纠缠不清关系JavaScript就是把数据和代码都简化到最原始程度
JavaScript中数据很简洁简单数据只有 und, null, boolean, number和这 5种而复杂数据只有即object这就好比中国古典朴素唯物思想把世界最基本元素归为金木水火土其他复杂物质都是由这 5种基本元素组成
JavaScript中代码只体现为种形式就是function
注意:以上单词都是小写不要和Number, String, Object, Function等JavaScript内置混淆了要知道JavaScript语言是区分大小写呀!
任何个JavaScript标识、常量、变量和参数都只是unfined, null, bool, number, , object 和 function类型中也就typeof返回值表明类型除此的外没有其他类型了
先说说简单数据类型吧
und: 代表切未知事物啥都没有无法想象代码也就更无法去处理了
注意:typeof(und) 返回也是 und
可以将und赋值给任何变量或属性但并不意味了清除了该变量反而会因此多了个属性
null: 有那么个概念但没有东西无中似有有中还无虽难以想象但已经可以用代码来处理了
注意:typeof(null)返回object但null并非object具有null值变量也并非object
boolean: 是就是非就非没有疑义对就对错就错绝对明确既能被代码处理也可以控制代码流程
number: 线性事物大小和次序分明多而不乱便于代码进行批量处理也控制代码迭代和循环等
注意:typeof(NaN)和typeof(Infinity)都返回number
NaN参和任何数值计算结构都是NaN而且 NaN != NaN
Infinity / Infinity = NaN
: 面向人类理性事物而不是机器信号人机信息沟通代码据此理解人意图等等都靠它了
简单类型都不是对象JavaScript没有将对象化能力赋予这些简单类型直接被赋予简单类型常量值标识符、变量和参数都不是个对象
所谓“对象化”就是可以将数据和代码组织成复杂结构能力JavaScript中只有object类型和function类型提供了对象化能力
没有类
object就是对象类型在JavaScript中不管多么复杂数据和代码都可以组织成object形式对象
但JavaScript却没有 “类”概念!
对于许多面向对象员来说这恐怕是JavaScript中最难以理解地方是啊几乎任何讲面向对象书中个要讲就是“类”概念这可是面向对象支柱这突然没有了“类”我们就象下子没了精神支柱感到 6神无主看来要放下对象和类达到“对象本无根类型亦无形”境界确实是件不容易事情啊
这样我们先来看段JavaScript:
点击运行可以看到效果:


这段代码表明不但可以当作构造而且还可以带参数还可以为对象添加成员和思路方法其中第9行Employee构造又将自己接收this作为参数Person构造这就是相当于基类构造第21、22行还表明这样个意思:BillGates是由Person构造而SteveJobs是由Employee构造对象内置constructor属性还指明了构造对象所用具体
其实如果你愿意把当作“类”她就是“类”她本来就有“类”那些特征难道不是吗?她生出儿子各个都有相同特征而且构造也和类同名嘛!
Tags:  javascript特效 javascript教程 javascript javascript最新版

延伸阅读

最新评论

发表评论