当前位置:首页 > 开发教程 > js/jQuery教程 >

JavaScript (基本教程)(4)

时间:2013-04-25 10:39 来源:网络整理 作者:采集侠 收藏

然而,有一些属性你是不能直接修改的,例如字符串对象 String 的 length 属性,但是如果你使用 String 对象的 concat() 方法合并两个字符串的话,length 属性也就会自动的改变了,但这种改变是系统自动实现的,而不

然而,有一些属性你是不能直接修改的,例如字符串对象 String 的 length 属性,但是如果你使用 String 对象的 concat() 方法合并两个字符串的话,length 属性也就会自动的改变了,但这种改变是系统自动实现的,而不是你直接通过赋值改变的。

【对象的方法 (Method)】

同样的,对象的方法也是通过英文句号 (.) 来执行的,在方法后边紧跟一对圆括号(),而在圆括号里边包含了使用该方法所需要的参数:

var errorMsg = new String("");
var msgHeader = new String("Error: ");
var errorCode = new String("X001");
errorMsg = msgHeader.concat(errorCode); 此例执行的结果:变量 errorMsg 的值为 "Error: X001"。

 

JavaScript 中的对象

JavaScript 包含很多预定义对象,一些是可以用来表示不同的数据类型 (如数字和字符串对象),而另一些是在网页中定义的与 HTML 标记密切相关的对象 (如超链接和图片对象)。

【核心 (Core) 对象】

在 JavaScript 中可供使用的最基本的数据类型被称为核心 (core) 对象,这些对象是:

  • Array - 数组对象;
  • Boolean - 布尔对象;
  • Date - 时间对象;
  • Number - 数值对象,可以是整数和浮点数;
  • String - 字符串对象,可以是单引号 (') 或双引号 (") 括起来的任何字符串。
  • 对于上边给出的对象,你都可以使用 new 操作符创建相应的对象实例,其实你也可以隐含地声明/创建 Boolean、Number 和 String 这几个对象,就像下边那样:

    var found = false;
    var max = 47.9;
    var name = "Fred"; // 等价于:var name = new String("Fred");

    【文档中的对象模块】

    当页面已经被下载到客户端时,浏览器就会创建几个用来存储页面信息和页面内容的对象。这些对象构成了一个树状结构 (对象的引用也是根据这种树一层一层引用的,引用时使用 “.” 号),在这棵“树”中,最高层的对象是 window 对象,window 对象具有以下的属性:

  • location - 页面的地址 (URL) 信息;
  • history - 包括了当前打开的这个浏览器访问过的地址 (URL) 列表;
  • frames - 如果页面使用了帧 (frame) 的话,这个对象包含了帧的版面布局的信息以及每一个帧所对应的窗口 (window) 对象;
  • document - 包含了页面的内容信息;
  • screen - 描述屏幕的尺寸和颜色 (仅限于 Netscape 4.0)。
  • 在这同时,浏览器还会创建另一个高层的对象叫 navigator,这个对象包含了浏览器的类型、版本、安装的插件等等信息。

    就像前边说的一样,使用英文的句号 (.) 来引用上边的对象以及对象的属性,例如,要获得当前页面的地址 (URL) 信息,我们可以这样用:

    var url = window.location.href;

    此外,还有一个很方便的东东产生了,那就是浏览器在创建 window 和 navigator 对象的同时,也会将 window 的属性 location、history 和 document 创建为高层对象,所以对于上边的语句,我们还可以简便的写成:

    var url = location.href;

    下边就简单的介绍一下 JavaScript 中为浏览器提供的对象。

    【window 对象】

    window 对象提供了一些很有用的方法,使用这些方法你可以在浏览器中弹处对话框 (pop-up):

  • alert() 显示一个消息框,只有一个 'OK' ('确定') 按钮;
  • confirm() 显示一个对话框,带有 'OK' ('确定') 和 'Cancel' ('取消') 按钮;
  • prompt() 显示一个可以让用户输入信息的对话框。
  • 看一下这个 就一切都明白了。

    我们在调试 JavaScript 脚本代码的时候经常会使用 alert() 方法,你可以将这个函数放在你的代码中,让它显示出所要调试的变量或对象的值,这对于在调试代码时跟踪错误是很重要的。

    window 提供的另一些方法是打开、关闭窗口或者改变窗口的显示方式,我们将在第三部分讲到这几个方法的使用。

    另外,window 对象中还有一个经常被用到的方法:setTimeout() 方法。此方法可以让 JavaScript 每隔一段间隔时间执行一段代码,代码的执行遵循事件句柄中的规则,也就是说,在这个函数中,每隔一段时间就会执行几条 JavaScript 代码 (每条代码使用“;”隔开) 或者执行调用的函数:

    setTimeout("count++; alert('Hello world!');", 500);

    上边的代码将会每隔半秒钟 (500毫秒) 执行一次 “count++; alert('Hello world')” 代码,此代码包含了两条 JavaScript 语句。也即是说,setTimeout() 方法有两个参数,第一个参数是想要执行的代码或函数 (在此例中是代码:count++; alert('Hello world')),第二个函数是间隔时间,单位是毫秒 (在此例中是500毫秒)。

    setTimeout() 方法的返回值是一个唯一的数值,这个数值有什么用呢?如果你想要终止 setTimeout() 方法的执行,那就必须使用 clearTimeout() 方法来终止,而使用这个方法的时候,系统必须知道你到底要终止的是哪一个 setTimeout() 方法 (因为你可能同时调用了好几个 setTimeout() 方法),这样 clearTimeout() 方法就需要一个参数,这个参数就是 setTimeout() 方法的返回值 (数值),用这个数值来唯一确定结束哪一个 setTimeout() 方法:

    var id = setTimeout("myFunction(arg1, arg2);", 3000);

    ...其它的 JavaScript 语句...

    if (error)
    clearTimeout(id); // 出现错误时终止 setTimeout() 方法的执行

    需要注意的是,setTimeout() 方法并不会让浏览器暂停执行跟在此方法后的程序代码,浏览器会一直顺着每行代码往下执行,只不过是其它代码只执行一次,而 setTimeout() 方法则是隔一段时间执行一次。在 Netscape 4.0 中,你还可以通过使用 setInterval() 方法重复执行一段代码或函数,相对应的使用 clearInterval() 方法终止前一个方法的执行,这两个方法与 setTimeout() 和 clearTimeout() 方法是一样的,这里就不再多说了。

    看一下这个 吧,这个例子通过使用 setTimeout() 方法重复的调用一个函数,通过这个函数来获得当前的时间,并将时间显示在页面上,看起来就像是一个正在走的时钟。

    【frame 对象】


    js/jQuery教程阅读排行

    最新文章