对象:

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

默认对象:
日期对象;(日期基线: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格式表示日期对象

数组对象;

建立数组对象:

   格式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>

字符串对象;

建立字符串对象:

  格式:字符串对象名称=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>

布尔对象;

建立布尔对象:

   格式:布尔对象名称=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>

数学对象;(静态对象)

数学对象的属性:

  格式:Math.属性
  属性: E 自然对数的底数
LN2 2的自然对数
LN10 10的自然对数
LOG2E 以2为底e的对数
LOG10E 以10为底e的对数
PI 圆周率
SQRT1_2 1/2的平方根
SQRT2 2的平方根

数学对象的方法:

  格式: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>

数值对象;
函数对象;

自定义对象。

自定义对象;
构造函数定义对象类型;
建立对象实例。
例:
<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>

利用对象原型(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>

js-对象-2的更多相关文章

  1. JS对象继承篇

    JS对象继承篇 ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的 原型链 其基本思路是利用原型让一个引用类型继承另一个引用类型的属性和方法 function Person() ...

  2. JS 对象封装的常用方式

    JS是一门面向对象语言,其对象是用prototype属性来模拟的,下面,来看看如何封装JS对象. 常规封装 function Person (name,age,sex){ this.name = na ...

  3. JSON字符串和JS对象之间的转换

    JSON字符串和JS对象之间的转换 1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象  JSON字符串 str JSON.parse(str) eval(str) eva ...

  4. js 对象的_proto_

    js 对象呢,有个属性叫_proto_,以前没听说过,也没关注,最近看这个原型,就被迫知道了这个东西,js 这里面的东西,真是规定的很奇怪,具体为啥也不知道,就测试发现的,对象的_proto_属性,和 ...

  5. js对象/数组深度复制

    今天碰到个问题,js对象.数组深度复制:之前有见过类似的,不过没有实现函数复制,今晚想了一下,实现代码如下: function clone(obj) { var a; if(obj instanceo ...

  6. js对象的深度克隆

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. js对象详解

    js自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在J ...

  8. js对象常用2中构造方法

    //js 对象的构造方法通常有2中情况: //第一种是通过json对象构造 var persion={ name:"孙悟空", age:40, eat:function () { ...

  9. JS对象复制

    在JavaScript很多人复制一个对象的时候都是直接用"=",因为大家都觉得脚本语言是没有指针.引用.地址之类的,所以直接用"="就可以把一个对象复制给另外一 ...

  10. js对象私有变量公有变量问题

    0 js对象私有变量公有变量问题5 小弟初学JS面向对象编程 现有一问题 请教各位大虾: Person=function (){ //私有变量定义 var name; vae age; var Ale ...

随机推荐

  1. Java 周历日历

    WeekCalendarUtils工具类代码,传入起始日期即可返回对应日期的周历日历,年月部分添加周数统计 import java.util.Calendar; import java.util.Da ...

  2. LDAP查询过滤语法(MS)

    http://social.technet.microsoft.com/wiki/contents/articles/5392.active-directory-ldap-syntax-filters ...

  3. GTD中落地执行篇

    前面几篇主要是分享GTD对事情进行 ”收集“,“分类”,“组织”.今天主要是想分享“落地执行” 先来看一个案例 (案例 来自于<小强升职记>) 通过这个案例我们看出 1: 当我们通过对事情 ...

  4. Spark核心—RDD初探

    本文目的     最近在使用Spark进行数据清理的相关工作,初次使用Spark时,遇到了一些挑(da)战(ken).感觉需要记录点什么,才对得起自己.下面的内容主要是关于Spark核心-RDD的相关 ...

  5. leveldb - sstable格式

    整体上,sstable文件分为数据区与索引区,尾部的footer指出了meta index block与data index block的偏移与大小,data index block指出了各data ...

  6. 让MyEclipse2013兼容Retina屏幕

    1. 找到文件:/Applications/MyEclipse/MyEclipse Professional.app/Contents/Profile/myeclipse.app/Contents/I ...

  7. JS回到顶部代码小记

    HTML: <div id="goTop"> <a href="#top"><img src="~/Content/th ...

  8. DIV实现纵向滚动条overflow-y

    DIV实现纵向滚动条overflow-y:scroll的使用, 1.首先设置固定div的宽高2.overflow-y:scroll如果设置overflow:auto;表示当你内容超过div高度出现滚动 ...

  9. fedora Server 21 安装 Opera 29.0.1795.47

    最新文章:Virson's Blog 安装源: yum localinstall --nogpgcheck http://mirror.yandex.ru/fedora/russianfedora/r ...

  10. Java帮助文档的生成

    首先需要对代码加上文档的注释,比如下面这样: package wz.learning;        /**   * Title:Person<br>   * Description:  ...