无废话JavaScript教程(全集)第14页.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
无废话JavaScript教程(全集)第14页

许多读者认为我那本《JavaScript语言精髓与编程实践》读来辛苦,所以我一直想写个简单的读本。索性,这次就写个最简单的吧。程序员》2008.09期有一篇名为《无废话ErLang》的文章,这让我想到了许多的诸如“无废话C”、“无废话书评”这类的文章,也想到了JavaScript可没有一篇“无废话”,所以决定开个篇来写这个。与这个决定相关的,还因为另一个缘故:许多读者认为我那本《JavaScript语言精髓与编程实践》读来辛苦,所以我一直想写个简单的读本。索性,这次就写个最简单的吧。 声明一下:如果只想看复杂的东西,不要读这篇文章了。 一、JavaScript最初其实是过程式的 追溯到1.0时代的JavaScript,其实是过程式的。它的基本特性有只有两项,一项是能够直接放在网页的HTML 标签中去接管事件,例如: 复制代码 代码如下: input type=button onclick=alert(hello) 第二项则是支持一种简单的对象构造器(函数)。其实这个时代的构造器不如说是初始化函数更合适,它应当 这样写: 复制代码 代码如下: function MyObject() { this.xxx = ...; this.yyy = ...; } obj = new MyObject(); 所以,早期的JavaScript无可置疑地背上了“基于对象的过程式脚本语言”的名头,这一点也不冤枉。除了 上面两项特性,JavaScript有着一些一般性的脚本语言的性质,例如:  -整个.js文件一次性装载到执行环境(例如WEB浏览器)中,在经历一次语法分析之后,开始逐行执行;  -在上述语法分析周期,(具名的)函数和用var声明的变量被预先处理在一个标识符表中,以便脚本代码使用;  -从全局的代码行或函数调用开始执行,整个过程中执行不到的代码不被查错(除第一步中的语法检错外)。 也具有通常的过程式语言的性质,例如:  -有if/for/while/switch等语句;  -用function来声明函数,使用(..)来声明它的形式参数表,以及表示函数调用和传参;  -类似于C语言的基本语法,包括使用{..}来表示代码块,以及使用!=等运算符号;  -一个类似于Java语言的对象操作运算符.号,和属性、方法这样的基本概念。 好了,现在你看到了一个基本的JavaScript语言,它的代码只有象C一样的函数与语句行,支持非常简单的面 向对象编程。OK,这其实也差不多是JavaScript的全部……嗯……全部的语法基础观念。如果你用过一门哪怕 稍稍入门一点的程序语言,你都会觉得JavaScript其实挺简单的。 是啊,“写个函数,然后调用它”,就这么简单。例如: function hi() { alert(hello, world.); } hi(); 二、稍微复杂一点的是数据类型 JavaScript有六种基本数据类型,分为两类。一类是值类型,即undefined,string, number和boolean;一类 是引用类型,即function和object。检测数据X是何种类型,可以简单地使用typeof X来返回一个字符串。 值类型与引用类型在其它高级语言中,是用“访问过程中是传值还是传引用”来区别的。简单说,在下面函数 中: function foo(X) { } X传入的是值本身,还是一个指向该值的引用(你可以想象成指针),表明了X是何种类型。与其它语言不同的 是,JavaScript不在调用入口上加指示字来说明传值的方法,例如: function foo(var X) { // 一般高级语言中,var表明总是传入变量X的引用 } 而是,简单的由脚本引擎根据实际传入的X的数据类型来决定如何传值。例如: function foo(X) { ... } foo(123); // - 字符串123值 foo(aObj); // - aObj是一个对象引用 能这样处理的关键,在于JavaScript类型系统足够简洁。六种基本类型包括了三个哲学化的观念:能执行的 与不能执行的;对象或非对象;有(值)或无(值)。显然,理解这种哲学性的思想并不容易,因为更复杂一层 的、自包含的逻辑是:函数也是对象、值也是对象、无值也是值。 这就是JavaScript类型系统的全部了。如果你想简单的用用,那么你记住下面的就够了:  -string、number、boolean三种简单值类型是用来传给网页显示的;  -object用来存放其它的object、funtion或上述简单值类型,并用.运算通过一个属性名找到它们;  -undefined

文档评论(0)

aicencen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档