• 对象:

    对象是一组具有属性和方法的经过组织的数据。

  • 默认对象
      1. 日期对象 (日期基线:1970年1月1日00:00:00)

        建立日期对象(实例):

        格式:日期对象名称=new Date([日期参数])

        日期参数:1.省略;
        2.英文-数值格式:月 日,公元年 [时:分:秒]
        如: today=new Date("October 1,2008 12:00:00")
        3.数值格式:公元年,月,日,[时,分,秒]
        如: today=new Date(2008,10,1)

        日期对象的方法:

        格式:日期对象名称.方法([参数])

        获取当地时间:
        getYear()返回年份数
        getFullYear()返回年份数
        getMonth()返回月份数(0--11)
        getDate()返回日期数(1--31)
        getDay()返回星期数(0--6)
        getHours()返回时数(0--23)
        getMinutes()返回分数(0--59)
        getSeconds()返回秒数(0--59)
        getMilliseconds()返回毫秒数(0--999)
        getTime()返回对应日期基线的毫秒
        Date.parse(日期字串)返回对应日期基线的毫秒
        setTime(时间值)指定一日期对象的值
        toGMTString()以GMT格式表示日期对象
        toUTCString()以GMT格式表示日期对象


      2. 数组对象

        建立数组对象

        格式1:数组对象名称=new Array([元素个数])
        格式2:数组对象名称=new Array([[元素1][,元素2,...]])
        格式3:数组对象名称=[元素1[,元素2,...]]

        例:
        fruit=new Array(3);// fruit=new Array();
        fruit[0]="苹果";
        fruit[1]="梨子";
        fruit[2]="橘子";

        fruit=new Array("苹果","梨子","橘子");


        fruit=["苹果","梨子","橘子"];

        数组对象的属性

        格式:数组对象名称.属性

        属性:length  数组长度

        例:
        <Script>

        var fruit = new Array("苹果", "梨子", "橘子");
        var i;

        for (i=0; i < fruit.length; i++) {
        document.write("fruit [", i, "] = ", fruit[i], "<br>")
        }

        </Script>


        数组对象的方法

        格式:数组对象名称.方法([参数])

        方法:
        join([分隔符])数组元素组合为字符串
        toString()以字符串表示数组
        reverse()数组反转
        valueOf()返回数组值

        例:
        <Script>

        var fruit = new Array("苹果", "梨子", "橘子");

        document.write("<LI>", fruit.join());
        document.write("<LI>", fruit.join("、"));
        document.write("<LI>", fruit.toString());
        document.write("<LI>", fruit.reverse().join());
        document.write("<LI>", fruit.valueOf());

        </Script>

        二维数组

        例:
        <Script>

        var fruit = new Array(3);
        fruit[0] = new Array("苹果", 2);
        fruit[1] = new Array("梨子", 4);
        fruit[2] = new Array("橘子", 2);

        for (i=0; i < fruit.length; i++) {
        for (j=0; j < fruit[0].length; j++) {
        document.write("fruit [", i, "][", j, "] = ", fruit[i][j],"<br>");
        }
        document.write("<br>");
        }

        </Script>

      3. 字符串对象

        建立字符串对象

        格式:字符串对象名称=new String(字符串常量)
        格式:字符串变量名称="字符串常量"

        字符串对象的属性

        格式:字符串对象名称.属性

        属性:length   字符串长度

        字符串对象的方法

        格式:字符串对象名称.方法

        方法:
        bold()粗体
        italtics()斜体
        strike()删除线
        fontsize(字级大小)文字大小
        fontcolor(#rrggbb)文字颜色
        sup()上标
        sub()下标
        toUpperCase()大写
        toLowerCase()小写
        charAt(索引)返回索引位置的字符
        charCodeAt(索引)返回索引位置的ASCII字符码,十进制表示
        indexOf("字串"[,索引])返回字串在对象中的索引位置
        lastIndexOf("字串"[,索引])返回字串在对象中的索引位置(反向搜索)
        search("字串")返回字串在对象中的索引位置
        replace("字串1","字串2")字串2替换字串1
        slice(索引i[,索引j])返回索引i倒索引j-1的子串
        split(["字串"][,限制])将字串从对象中删除
        substr(start[,length])返回特定长度的字串
        substring(索引i[,索引j])返回索引i倒索引j-1的子串
        link("url")设置链接
        match(/匹配字符/)

        \d

        匹配一个数字字符。

        \D

        匹配一个非数字字符。

        \n

        匹配一个换行符。

        \r

        匹配一个回车符。

        \s

        匹配一个空格符。

        \S

        匹配任意非空格符。

        \t

        匹配一个table符。

        \W

        匹配任何非单词符。

        \num

        匹配正整数num。

        /n/

        匹配八进制,十六进制,十进制的escape值。

        toString()返回字符串
        valueOf()返回字符串值

        例1:
        <Script>
        var str = "JavaScript";

        document.write(str.bold(),"<BR>");
        document.write(str.fixed(),"<BR>");
        document.write(str.fontcolor("red"),"<BR>");
        document.write(str.fontsize(5),"<BR>");

        </Script>


        例2:
        <Script>

        var str = "JavaScript";
        var num = 1234;

        document.write(str.toUpperCase(), "<BR>");
        document.write(num.toString().charAt(2),"<BR>");
        document.write(str.substring(0,4), "<BR>");

        </Script>


        例3:
        <Script>

        var str = "JavaScript";

        document.write(str, " 有 ", str.length, " 个字<BR>");
        document.write(str.fontcolor("green"), " 不是 ");
        document.write(str.substr(0,4).fontcolor("red"));
        document.write(" 也不是 ", str.replace("Java", "VB"));

        </Script>


        例4:
        <Script>

        var str = "hubert@abc.com.cn";
        var idx = str.search("@");
        var usr = str.substr(0,idx);

        document.write(usr.toUpperCase().fontsize(7), "<BR>");
        document.write("你的电子信箱是", str);

        </Script>


        例5:
        <Script>

        function isEmail(){
        var str = document.form1.add.value;
        if (str.indexOf("@") == -1)
        alert("请填写正确的EMail地址");
        else
        alert("OK!");
        }

        </Script>

        <FORM name="form1">
        请输入你的 EMail 地址:
        <INPUT TYPE="text" name="add">
        <INPUT TYPE="button" value="开始检查" onClick="isEmail()">
        </FORM>

      4. 布尔对象

        建立布尔对象

        格式:布尔对象名称=new Boolean(转换值)
        转换值:null、未定义、0、或false均转换成false

        布尔对象的方法

        格式:布尔对象名称.方法
        方法:toString()
        valueOf()
        例:
        <Script>

        x = new Boolean();
        y = new Boolean(true);
        z = new Boolean(0);

        document.write(x, "<br>");
        document.write(y, "<br>");
        document.write(z, "<br>");

        </Script>

      5. 数学对象 ;(静态对象)

        数学对象的属性

        格式:Math.属性
        属性:
        E自然对数的底数
        LN22的自然对数
        LN1010的自然对数
        LOG2E以2为底e的对数
        LOG10E以10为底e的对数
        PI圆周率
        SQRT1_21/2的平方根
        SQRT22的平方根


        数学对象的方法

        格式:Math.方法(参数)
        方法:
        ceil(数值)大于等于该数值的最小整数
        floor(数值)小于等于该数值的最大整数
        min(数值1,数值2)最小值
        max(数值1,数值2)最大值
        pow(数值1,数值2)数值1的数值2次方
        random()0倒1的随机数
        round(数值)最接近该数值的整数
        sqrt(数值)开平方根
        abs、sin(弧度)、cos、tan、asin、acos、atan、exp、log

        例1:
        <Script>

        with (document) {
        write("<LI>2 的平方根值是 ", Math.sqrt(2));
        write("<LI>2 <sup>3</sup> = ", Math.pow(2,3));
        write("<LI>最接近 3.14 的整数是 ", Math.round(3.14));
        }

        </Script>


        例2:
        <Script>

        var now = new Date();
        var firstDay = new Date("Nov 10, 1999");
        var duration = now - firstDay;
        var msPerDay = 24 * 60 * 60 * 1000; //换算成毫秒
        days = Math.round(duration/msPerDay);

        document.write("本网站已经开幕" + days + "天了");

        </Script>

        例3:
        <Script>

        var promote = new Array(3);
        promote[0] = "拍卖区又有新货到了,赶快来捡便宜啊......"
        promote[1] = "成为会员,马上享受八折优惠,还可以参加抽奖!";
        promote[2] = "庆祝访问人数突破十万人次,填问卷就送大奖,快来啊!";

        index = Math.floor(Math.random() * promote.length);
        document.write(promote[index]);

        </Script>

      6. 数值对象
      7. 函数对象

      8. 自定义对象

        • 自定义对象;
          • 构造函数定义对象类型;
          • 建立对象实例。
        • 例:
          <Script>

          function member(name, sex) {
          this.name = name;
          this.sex = sex;
          }

          var papa = new member("杨宏文", "男生");
          var mama = new member("黄雅玲", "女生");
          var doggy = new member("奇 奇", "宠物狗");

          document.write(papa.name);
          document.write("是", papa.sex);

          </Script>

        • 动态的定义对象属性;
        • 例:
          为指定的对象实例定义属性: papa.hobby="看电视";
          为对象定义属性: member.prototype.hobby=null;
          papa.hobby="上网";
          mama.hobby="逛街";
          doggy.hobby="啃骨头";

        • 定义对象的方法;
          • 构造函数定义对象方法名;
          • 建立方法的描述函数。
        • 例:
          <Script>

          function member(name, sex) {
          this.name = name;
          this.sex = sex;
          this.display = display;
          }

          function display() {
          var str = this.name + "是" + this.sex;
          document.write("<LI>" + str);
          }

          var papa = new member("杨宏文", "男生");
          var mama = new member("黄雅玲", "女生");
          var doggy = new member("奇 奇", "宠物狗");

          papa.display();
          mama.display();
          doggy.display();

          </Script>

      9. 利用对象原型 (prototype)为默认对象定义属性:

        <Script>

        String.prototype.replaceAll = strReplace;
        function strReplace(findText, replaceText) {
        var str = new String(this);
        while (str.indexOf(findText)!=-1) {
        str = str.replace(findText, replaceText);
        }
        return str;
        }

        myStr = "告诉你 - 如果你正在寻找一本能帮助你彻底研究" +
        "JavaScript的书籍,请你一定要认明碁峰的" +
        "JavaScript教学范本,让你事半功倍,功力大增。";
        document.write("<LI>原稿是:<BLOCKQUOTE>" + myStr +"</BLOCKQUOTE>");
        document.write("<LI>利用Replace()将「你」改成「您」:"
        +"<BLOCKQUOTE>" + myStr.replace('你','您') +"</BLOCKQUOTE>");
        document.write("<LI>利用自定义的字符串方法 - 全部取代"
        +"<BLOCKQUOTE>" + myStr.replaceAll('你','您') +"</BLOCKQUOTE>");

        </Script>