JS 对象

在 JavaScript 中,对象是拥有属性和方法的数据

属性和方法

属性是与对象相关的值。

方法是能够在对象上执行的动作

创建 JavaScript 对象

通过 JavaScript,您能够定义并创建自己的对象。

创建新对象有两种不同的方法:

  1. 定义并创建对象的实例
  2. 使用函数来定义对象,然后创建新的对象实例

创建直接的实例

这个例子创建了对象的一个新实例,并向其添加了四个属性:

实例

person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";

替代语法(使用对象 literals):

实例

person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};

使用对象构造器

本例使用函数来构造对象:

实例

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}

创建 JavaScript 对象实例

一旦您有了对象构造器,就可以创建新的对象实例,就像这样:

var myFather=new person("Bill","Gates",56,"blue");
var myMother=new person("Steve","Jobs",48,"green");

把方法添加到 JavaScript 对象

方法只不过是附加在对象上的函数。

在构造器函数内部定义对象的方法:

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;

this.changeName=changeName;
function changeName(name)
{
this.lastname=name;
}
}

changeName() 函数 name 的值赋给 person 的 lastname 属性。

现在您可以试一下:

myMother.changeName("Ballmer");

JavaScript String(字符串)对象

1.字符串的长度:document.write(txt.length)
2.为字符串添加样式:
document.write("<h1>This is a heading</h1>");
document.write( "<p>Link: " + txt.link("#") + "</p>"
)
document.write("<p>Fontcolor: " + txt.fontcolor("Red") + "</p>")
3. 使用 indexOf() 来定位字符串中某指定字符首次出现的位置
var str="Hello world!"
document.write(str.indexOf("World") + "<br />")
4. 使用 match() 来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。
var str="Hello world!"
document.write(str.match("world") + "<br />")
5. 使用 replace() 方法在字符串中用某些字符替换另一些字符
var str="Visit Microsoft!"
document.write(str.replace( /Microsoft/, "W3School")

JavaScript Date(日期)对象

1. 使用 Date() 方法获得当日的日期
document.write(Date())
2. getTime() 返回从 1970 年 1 月 1 日至今的毫秒数
var d=new Date();
document.write("从 1970/01/01 至今已过去 " + d.getTime() + " 毫秒");
3. 使用 setFullYear() 设置具体的日期。
var d=new Date();
document.write("从 1970/01/01 至今已过去 " + d.getTime() + " 毫秒");
4. 使用 toUTCString() 将当日的日期(根据 UTC)转换为字符串
var d = new Date()
document.write (d.toUTCString())
5. 使用 getDay() 和数组来显示星期,而不仅仅是数字

6. 在网页上显示一个钟表

JavaScript 数组对象

定义数组:

var myArray=new Array();
赋值:
方法1.
var mycars=new Array(3)
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]="BMW"
方法2. var mycars=new Array("Saab","Volvo","BMW")

Boolean 对象

创建 Boolean 对象

使用关键词 new 来定义 Boolean 对象。下面的代码定义了一个名为 myBoolean 的逻辑对象:

var myBoolean=new Boolean()
如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)!
Math(算数)对象
1.用 random() 来返回 0 到 1 之间的随机数
document.write(Math.random())
用了Math 对象的 floor() 方法和 random() 来返回一个介于 0 和 10 之间的随机数
document.write(Math.floor(Math.random()*11)) 
Math.floor:求一个最接近它的整数,它的值小于或等于这个浮点数。
2.使用 max() 或min()来返回两个给定的数大小
document.write(Math.max(5,7) + "<br />")
3.使用 round()取整(四舍五入)
document.write(Math.round(-4.40) + "<br />")  -4
正则表达式:RegExp 
   
   

RegExp 是正则表达式的缩写。对象用于规定在文本中检索的内容。

当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式。

简单的模式可以是一个单独的字符。

更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。

您可以规定字符串中的检索位置,以及要检索的字符类型,等等。

定义 RegExp

RegExp 对象用于存储检索模式, 通过 new 关键词来定义 RegExp 对象
通过 new 关键词来定义 RegExp 对象。以下代码定义了名为 patt1 的 RegExp 对象,其模式是 "e":
var patt1=new RegExp("e");
当您使用该 RegExp 对象在一个字符串中检索时,将寻找的是字符 "e"。
new RegExp(pattern, attributes);

参数

参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。

返回值

一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。

如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象。


RegExp 对象的方法

RegExp 对象有 3 个方法:test()、exec() 以及 compile()

1.test()

test() 方法检索字符串中的指定值。返回值是 true 或 false。

例子:

var patt1=new RegExp("e");

document.write(patt1.test("The best things in life are free")); 

由于该字符串中存在字母 "e",以上代码的输出将是:

true

2.exec()

exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

例子 1:

var patt1=new RegExp("e");

document.write(patt1.exec("The best things in life are free")); 

由于该字符串中存在字母 "e",以上代码的输出将是:

e

compile()

compile() 方法用于改变 RegExp。

compile() 既可以改变检索模式,也可以添加或删除第二个参数。

例子:

var patt1=new RegExp("e");

document.write(patt1.test("The best things in life are free"));

patt1.compile("d");

document.write(patt1.test("The best things in life are free"));

由于字符串中存在 "e",而没有 "d",以上代码的输出是:

truefalse
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值