javaScript 对象

来源:互联网 发布:python open nameerror 编辑:程序博客网 时间:2024/05/19 07:10

javascript所有事物都是对象:字符串,数值,数组,函数。对象只是带有属性和方法的特殊数据类型。
访问对象的属性

//objectName.propertyNamevar message="hello world";var len=message.length;

访问对象的方法

//objectName.methodName()var message="hello world";var x=message.toUpperCase();

创建javascript对象
1.定义并串讲对象实例

person=new Object();person.firstname="Bill";person.lastname="Gates";person.age=56;person.eyecolor="blue";
person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};

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

//对象构造器function person(firstname,lastname,age,eyecolor){this.firstname=firstname;this.lastname=lastname;this.age=age;this.eyecolor=eyecolor;}
//创建对象实例var myFather=new person("Bill","Gates",56,"blue");var myMother=new person("Steve","Jobs",48,"green");

把属性和方法添加到javascript对象
通过为对象赋值,向已有的对象添加新属性

person=new Object();person.country="USA";
//为对象添加方法function person(firstname,lastname,age,eyecolor){this.firstname=firstname;this.lastname=lastname; this.changeName=changeName;function changeName(name){this.lastname=name;}}myMother=new person("Steve","Jobs",56,"green");myMother.changeName("Ballmer");document.write(myMother.lastname);//Ballmer</script>

javascript类
JavaScript 是面向对象的语言,但 JavaScript 不使用类。
在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。
JavaScript 基于 prototype,而不是基于类的。
JavaScript for…in 循环

var person={fname:"Bill",lname:"Gates",age:56};//对象for (x in person)//遍历对象中  {  txt=txt + person[x];  }

数字
JavaScript 中的所有数字都存储为根为 10 的 64 位(8 比特),浮点数。
字符串对象
String对象用于处理已有的字符块

var txt="Hello World!"document.write("txt.length");//计算字符串的长度document.write("<p>Big: " + txt.big() + "</p>");//字符串变大document.write("<p>Small: " + txt.small() + "</p>")//字符串变小document.write("<p>Bold: " + txt.bold() + "</p>")//字体变粗document.write("<p>Italic: " + txt.italics() + "</p>")//斜体
//字符串首次出现的位置var str="Hello world!"document.write(str.indexOf("Hello") + "<br />");//0document.write(str.indexOf("World") + "<br />");//-1 不存在document.write(str.indexOf("world"));//6
//查找字符串中特定的字符,并且如果找到的话,则返回这个字符。var str="Hello world!"document.write(str.match("world") + "<br />")//worlddocument.write(str.match("World") + "<br />")//null
//在字符串中用某些字符替换另一些字符。<script type="text/javascript">var str="Visit Microsoft!"document.write(str.replace(/Microsoft/,"W3School"))</script>

日期对象
定义日期:

var myDate=new Date();

修改日期

var myDate=new Date();myDate.setDate(myDate.getDate()+5);

日期比较

var myDate=new Date();myDate.setFullYear(2008,8,9);var today = new Date();if (myDate>today){alert("Today is before 9th August 2008");}else{alert("Today is after 9th August 2008");}
//返回当前日期document.write(Date())//getTime() 返回从 1970 年 1 月 1 日至今的毫秒数。var d=new Date();document.write("从 1970/01/01 至今已过去 " + d.getTime() + " 毫秒");// setFullYear() 设置具体的日期。var d = new Date()d.setFullYear(1992,10,3)//toUTCString() 将当日的日期(根据 UTC)转换为字符串。var d = new Date()document.write (d.toUTCString())//使用 getDay() 来显示星期var d=new Date();var weekday=new Array(7);weekday[0]="星期日";weekday[1]="星期一";weekday[2]="星期二";weekday[3]="星期三";weekday[4]="星期四";weekday[5]="星期五";weekday[6]="星期六";document.write("今天是" + weekday[d.getDay()]);

数组
定义数组

var mycars=new Array(3)mycars[0]="Saab"mycars[1]="Volvo"mycars[2]="BMW"//或者var mycars=new Array("Saab","Volvo","BMW")

访问数组

for (x in mycars){document.write(mycars[x] + "<br />")}

合并两个数组

var arr = new Array(3);arr[0] = "George";arr[1] = "John";arr[2] = "Thomas";var arr2 = new Array(3);arr2[0] = "James";arr2[1] = "Adrew";arr2[2] = "Martin";document.write(arr.concat(arr2));//George,John,Thomas,James,Adrew,Martin

用数组元素组成字符串

var arr = new Array(3);arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"document.write(arr.join());//默认以逗号链接

排序

document.write(arr.sort());

逻辑
如果逻辑对象无初始值或者其值为 0、-0、null、”“、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true。

var myBoolean=new Boolean();document.write(myBoolean);//falsevar myBoolean=new Boolean(0);document.write(myBoolean);//falsevar myBoolean=new Boolean(null);//falsedocument.write(myBoolean);var myBoolean=new Boolean("");document.write(myBoolean);//false

Math 对象
四舍五入函数round

document.write(Math.round(0.60) + "<br />")//1

产生0和1之间的随机数

document.write(Math.random());

返回两者中的较大者max,返回较小者min

document.write(Math.max(5,7) + "<br />")

正则表达式
定义

var patt1=new RegExp("e");

对象方法

//test()方法检索字符串中的指定值。var patt1=new RegExp("e");document.write(patt1.test("The best things in life are free")); 
//exec()检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。var patt1=new RegExp("e");document.write(patt1.exec("The best things in life are free")); 
//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"));
0 0