楼主: keaide

JavaScript教程

[复制链接]
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
11#
 楼主| 发表于 2006-5-28 21:39 | 只看该作者
第一行是一个注释。含义很明确。

下几行是变量申明,有几样事情需注意:

当首次用一变量时,应以“var”申明。

尽管以var 作为变量申明严格说并不必要,但这是一个好
习惯。当我们讨论接下来的两课时,我们将知道为什么。
 
变量必须以字母或强调性字符起始。

第一个字符后,变量须有数字。因此monkey_23即是合法的
变量名。
变量名多数是大小写敏感的,但对不同版本的JavaScript也不
尽然。

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
12#
 楼主| 发表于 2006-5-28 21:39 | 只看该作者
这意味着变量Loop和loop在有些浏览器中是不同的。一般
情况下,建议坚持使用一种命名习惯并保持不变。我本人
习惯使用变量间加下划线。其他人有喜欢变量间首字大
写的,如secsPerMin。
变量应描述其目的。

象 x, y, 或hack_hack_hack对想要了解你的语言的人来
说没有什么用。别使变量名太长以致敲起来费劲,但要长
到有一定的描述力。
在定义变量时就可赋于其一个值,也可今后在给出。

在该例中每个变量开始定义时就被赋于了值。不一定非
如此,今后的例子中我们将看到即使我们不知道其值,我
们也可很好的定义它。

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
13#
 楼主| 发表于 2006-5-28 21:40 | 只看该作者
语句以半括弧结束。
语句是JavaScript的表达句,半括弧是结束标志。空格和
空行是可被JavaScript编译器忽略的,他们仅是为人们读
起来方便,该例可被写成长长的一行,但即使加上注释,
看起来也会极其吃力。
结束前我要提一下有时半括弧是不必须的,你可能也注意
到有的人编的语句没有半括弧作为结束。但加上它是个好
习惯,这不仅是由于你的程序的可读性会好的多,这也可
减少空行,这些空行会塞满你的程序Webmonkey的习惯是
在每一语句后加上半括弧作为结束。

// do some calculations

var secs_per_day = secs_per_min * mins_per_hour * hours_per_day;

var secs_per_year = secs_per_day * days_per_year;



这里我们看到了一些基本的算术。每当JavaScript执行了该
语句,变量secs_per_year将是无论得到的什么数乘以60, 60,
24, 和 365。以后,无论何时遇到变量secs_per_year,它
将以这些巨大的数字替代。

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
14#
 楼主| 发表于 2006-5-28 21:40 | 只看该作者
// end hiding -->

</script>


这里没什么新鲜的,是一个JavaScript片的结束。

这是该例中头文件中JavaScript的全部,当JavaScript执行这
些代码时,上述变量将被定义。但此时这些变量尚未做任何
事,这是在该例主体中要完成的事。>>

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
15#
 楼主| 发表于 2006-5-28 21:40 | 只看该作者
第三页:首个变量例子的程序主体
现在我们已经定义了变量,让我们用它来做一些事。


<script language="JavaScript">

<!-- hide me


这里介绍如何用JavaScript写变量和网页。


// here's how to use JavaScript to write out HTML

document.writeln("<b>The monkey dances ";

document.writeln(secs_per_year);

document.writeln(" seconds per year.</b><p>";

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
16#
 楼主| 发表于 2006-5-28 21:40 | 只看该作者
这里是关于这三行的兴趣点:

document.writeln() 对于网页写入插入词。
在document.writeln()中可作大量细节之事,但到此为止
你只需记住你是在<script>和</script>标签之间,必须
用document.writeln("blah!"在网页中写HTML
引号中的字符显现出来;引号外的字符被认为是变量。

注意在第一和第三行中,引号中的是我们想要显现的,
而secs_per_year无引号。因此JavaScript认为它是变量
并交换成变量值。幸好,在头文件中我们定义
了secs_per_year是一大数,因此可被显现,否
则JavaScript将报错。
引号中的任何字都被称为字符串,JavaScript不编译它。
本例中使用的是双引号(",也可使用单引号('),二者可
互换。若第二行中的是
document.writeln("secs_per_year",JavaScript
将直接将secs_per_year显现,而不是31,536,000.

本例和字符的区别很重要,因此在我们继续下去之前,保
证你已读懂了这段。

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
17#
 楼主| 发表于 2006-5-28 21:41 | 只看该作者
你可以用document.writeln() 写HTML语言。
注意第一和第三行的<b> 和 </b> 标签。
这即是该例的概要。我们常见的一个问题是:“通常什么出现
在头文件中,什么出现在主体文件中?”

一般这关系不大。好的习惯是把大多数JavaScript放在页面的
头上。这是因为比主体要先读到,所以出现在主体中的变量
(如secs_per_min)都在头中定义了。当secs_per_min
在JavaScript试图执行document.writeln(secs_per_min)命令
后定义则JavaScript会报错。

好,现在我们准备作一个关于变量的练习,但首先再注意一下
字符串。

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
18#
 楼主| 发表于 2006-5-28 21:41 | 只看该作者
第四页:字符串的魔力
如前一节所提,引号间的字符都称为字符串,无论单双引号。
就如变量可为数字一样,它也可为字符串。因此可说:

var nice_monkey = "The monkey smiles at you and recites Shakespeare.";

var bad_monkey = "The monkey scowls at you and burps.";



申报变量时即给变量赋值,使它等于这些字符串,于是当你想
写这些字符串时,你可写:


document.writeln(nice_monkey);



这里是可用字符串做事的例子。

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
19#
 楼主| 发表于 2006-5-28 21:41 | 只看该作者
仔细看一看源码,你将常会发现一些新鲜,有趣的事。

看以下新鲜之处:


var monkey = prompt("What's the monkey's name?", "The monkey";



这里我们称为用户反馈提示方式,当它被调用时,启动一个对
话框请求用户输入信息。用户完成后敲OK返回信息。在上行中
返回信息放入其变量中。

注意该提示方式有两个变量,且都是字符串。第一个在对话框
输入区上面显示,本例中它是:“What's the monkey's
name?”。本例中第二个参数"The monkey",放置输入框的缺
省值。如果你不想要缺省值,则在第二个参数加上引号,就象
这样:

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
20#
 楼主| 发表于 2006-5-28 21:41 | 只看该作者
var monkey = prompt("What's the monkey's name?", "";



下一行是直接变量分配,就象此前我们看到的:


var techy_monkey = monkey + demanding + tech;



该行介绍了一个字符串操作器:累加标记。当两个字符串间出
现累加标记时,则这两个变量出现在同一字符串中,这称为
“连锁”。于是上行创造了一个新的变量称为techy_monkey
含有包含上述三个变量的字符串。换一句话说,其结果即是
"The monkey" + "demands, no, insists upon receiving" +
"a computer that won't crash, and a homemade browser!"


var techy_monkey = monkey + demanding + tech;

于是也可说:

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表