Chinaunix首页 | 论坛 | 博客
  • 博客访问: 306557
  • 博文数量: 84
  • 博客积分: 5016
  • 博客等级: 大校
  • 技术积分: 900
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-30 20:22
文章分类

全部博文(84)

文章存档

2008年(21)

2007年(63)

我的朋友

分类: 系统运维

2007-02-11 19:47:06

    JS脚本可以放入HTML的头部或身体里(我这么就是喜欢这么叫它,你管不着)。(body应该也可以翻译为“尸体”吧)
    书写格式为(由于JS是IE的默认脚本语言,所以"language=JavaScript"是可以省略的)
    有一个重点最好注意一下,虽然HTML不区分大小写,但JS脚本中是区分大小写的,也就是说,在的内部一定要注意大小写。

    声明一个新的变量可以使用“var 变量名”的形式来声明。要注意的是,var就是var,在JS中,我们声明变量的时候完全不需要说出来变量类型,比如var n=1就能让计算机(准确地说是浏览器)知道变量n是整形的,var a="asdfgh"就能让计算机知道a是一个字符串(事实上,这一点也不奇怪,要知道,在JS中,你甚至完全可以给一个变量赋了字符值之后再给它赋浮点值之后再给它赋整形值……这听起来很疯狂,但这是真的,而且还有更疯狂的)那个……我要说什么来着……那简直太刺激了——事实上,你在使用变量之前,甚至根本不需要声明它(这对于不知道“强变量”与“弱变量”区别的朋友来说,很可能引发心脏病)。

    对象是可以从 JavaScript“势力范围”中划分出来的一小块,可以是一段文字、一幅图片、一个表单(Form)等等。每个对象有它自己的属性、方法和事件。对象的属性是反映该对象某些特定的性质的,例如:字符串的长度、图像的长宽、文字框(Textbox)里的文字等等;对象的方法能对该对象做一些事情,例如,表单的“提交”(Submit),窗口的“滚动”(Scrolling)等等;而对象的事件就能响应发生在对象上的事情,例如提交表单产生表单的“提交事件”,点击连接产生的“点击事件”。不是所有的对象都有以上三个性质,有些没有事件,有些只有属性。

    引用对象的任一“性质”用“<对象名>.<性质名>”这种方法。


每个内建的对象都包含着“属性”与“方法”两个元素(我觉得称它们谓“功能”更恰当),
“属性”是对象某一方面的特征(数据);
“方法”是对某数据的操作。

(说实话,这两个术语(字面与含义之间)翻译得相当的准确,一目了然(不像“低级语言”与“高级语言”这两个词汇翻译得那么烂))

另外,我们也可以把自定的变量拿出来作对象。
——上面这段话不是很容易就能明白的(如果真是那样,那我也不必再往下写了),不过没关系,我下面的内容就是为了让你能更清楚的理解
上面这段话。


关于“方法”的例子:

例1: toString()
用途:返回字符串形式的数值
用法:对象.toString()
如:
若有 a=123;

a.toString() == "123"
<在本例中,a是对象,它使用了“方法”toString()>

例2:charAt(i)
用途:返回字符串第i(0起始计数)位的字符
用法:对象.charAt(i)
如:
若有 as="abcd"

as.charAt(0) == "a"
as.charAt(1) == "b"
as.charAt(2) == "c"
as.charAt(3) == "d"
<在本例中,as是对象,它使用了“方法”charAt()>

例3:包含在“数学”对象中的sqrt(n)
用途:返回变量n(或某一常数)的平方根
用法:Math.sqrt(n) 或 Math.sqrt(常数)
如:
若有 n=16

Math.sqrt(n) == Math.sqrt(16)
两者都会返回整形数值4
<在本例中,要注意的是,对象不是n,而是Math,而我们的变量n是以参数的形式出现的>
事实上,有时变量是参数,对象不都是变量(所以我们通常不会一辈子换几百个对象来结婚)


关于“属性”的例子:

例4:length
用途:返回该字符串的长度
用法:<字符串对象>.length
如:
若有de="abcde"
则:
de.length == 5


从上面的这些例子可以看出,对象可以是“属性”与“方法”的集合(它们是内建的,比如对象“Math”就包含着许多“方法”和“属性”),也可以是自定的,然后引用“属性”(如例4中的“de.length”),或使用“方法”(如例1、例2中的“a.toString()”以及“as.charAt(i)”)。


下面,我来举例说明一下“内建的对象包含着它的方法和属性”这句话的含义。

例1:Math
“数学”对象,提供对数据的数学计算。

属性
 E 返回常数 e (2.718281828...)。
 LN2 返回 2 的自然对数 (ln 2)。
 LN10 返回 10 的自然对数 (ln 10)。
 LOG2E 返回以 2 为低的 e 的对数 (log2e)。
 LOG10E 返回以 10 为低的 e 的对数 (log10e)。
 PI 返回π(3.1415926535...)。
 SQRT1_2 返回 1/2 的平方根。
 SQRT2 返回 2 的平方根。
  例1-1:SQRT2这个“属性”的用法:
  Math.SQRT2(这就相当于2的平方根了)


方法
abs(x) 返回 x 的绝对值。
acos(x) 返回 x 的反余弦值(余弦值等于 x 的角度),用弧度表示。
asin(x) 返回 x 的反正弦值。
atan(x) 返回 x 的反正切值。
atan2(x, y) 返回复平面内点(x, y)对应的复数的幅角,用弧度表示,其值在 -π 到 π 之间。
ceil(x) 返回大于等于 x 的最小整数。
cos(x) 返回 x 的余弦。
exp(x) 返回 e 的 x 次幂 (ex)。
floor(x) 返回小于等于 x 的最大整数。
log(x) 返回 x 的自然对数 (ln x)。
max(a, b) 返回 a, b 中较大的数。
min(a, b) 返回 a, b 中较小的数。
pow(n, m) 返回 n 的 m 次幂 (nm)。
random() 返回大于 0 小于 1 的一个随机数。
round(x) 返回 x 四舍五入后的值。
sin(x) 返回 x 的正弦。
tan(x) 返回 x 的正切。
sqrt(x) 返回 x 的平方根。
 例1-2:sqrt()这个“方法”的用法:
 Math.sqrt(x)中,x可以是被赋了值的变量,也可以是常数。
 比如Math.sqrt(16)就相当于4

例2:Date
日期对象。
这个对象可以储存任意一个日期,从 0001 年到 9999 年,并且可以精确到毫秒数(1/1000 秒)。在内部,日期对象是一个整数,它是从

1970 年 1 月 1 日零点整开始计算到日期对象所指的日期的毫秒数。
(如果所指日期比 1970 年早,则它是一个负数。所有日期时间,如果不指定时区,都采用“UTC”(世界时)时区,它与“GMT”(格林威治

时间)在数值上是一样的。)
<要注意的是,这个对象是没有属性的,它只有方法(另有一些则是相反)>
<关于它的方法,我就不写了,我只是为了举个例子,等到有需要的时候再写>


PS1:
    这篇文章里面提到“对象”的次数简直数不清了,在这情人节的前夕预祝大家节日快乐!
(嫉妒地说)今年还会是老样子吧……
PS2:
    不得不说,这两天时间真是够紧的……昨天中午刚开始学JS,1个小时后接到电话,就赶紧跑去照顾我生病的姥姥……今天早晨起床之前学了一会儿JS,起床之后就开始擦玻璃,一直擦到下午……没看几眼书就到吃晚饭时间了,然后开始写这篇文章。
    难道是上帝故意不想让我学JS吗……天哪……这两天加在一起我才看了3个小时书啊……太过分了……


    总之,因为这些啰里巴嗦的原因,在这32小时里我只学会了这么点东西,不要见笑。

    话说回来,我“两个星期学会JS”的愿望,按照这个进度……恐怕……是完不成了……唉……

阅读(1200) | 评论(1) | 转发(0) |
0

上一篇:J.S手记·序

下一篇:好久没回来了

给主人留下些什么吧!~~