JavaScript对象分为实例对象和静态对象实例对象new创建通过对象实例名.成员访问属性和方法静态对象不需要new通过对象名.成员访问属性和方法JavaScript内部对象Math对象静态对象js1_Math对象.htmlscripttype=text/javascript//Math对象是静态对象不需要实例化//round返回接近该数的最小整数四舍五入document.write(Math.round(3.88));document.write(p/);//random()0--1之间的随机数document.write(Math.round(Math.random()*(200-50))+50)//50--200包含200document.write(p/);//floor返回小于等于该数的最大整数document.write(Math.floor(Math.random()*(200-50))+50)//50--200不包含200/scriptString对象js1_Strig对象.htmlscripttype=text/javascript//字符串有属性lengthfunctionMyString(){//创建形式两种varobjString=helloworld;varstr2=newString(HELLO中国);document.write(str2的长度:+str2.length+br);//indexOf返回第一次出现子字符串的字符索引位置未找到返回-1//第二个参数为开始位置可选document.write(objString中woh的索引位置:+objString.indexOf(woh,1));document.write(br)document.write(objString中lo的索引位置:+objString.indexOf(lo));document.write(br)document.write(反向搜索objString中lo的索引位置:+objString.lastIndexOf(lo));document.write(br)//返回字符串中为指定位置的字符document.write(objString中索引为6的字符:+objString.charAt(6));document.write(br);//返回起始位置为6,长度为5的子字符串document.write(objString.substr(6,5));document.write(br)//返回起始位置为0,结束位置为7的子字符串包含7document.write(objString.substring(0,7));document.write(br)//以分隔符返回字符串对象的数组表现vararr=a,b,c;d,f.split(,);for(vari=0;iarr.length;i++)document.write(arr[i])}MyString();/script日期对象Datejs1_日期对象.htmlscript//Date对象提供了setXXX()getXXX()//varnow=newDate();vardate=newDate(2010,2,24,15,25,10);document.write(date.toLocaleString());document.write(p);document.write(date.getYear()+年+(date.getMonth()+1)+月+date.getDate()+日星期:+(date.getDay()));//xxxx-xx-xx日期字符串转成日期对象functionparseDate(strDate){vararr=strDate.split(-);varyear=parseInt(arr[0]);varmonth=parseInt(arr[1]);vardate=parseInt(arr[2]);returnnewDate(year,month-1,date);}vardate1=parseDate(2010-2-25);alert(date1.getFullYear()+-+(date1.getMonth()+1)+-+date1.getDate());/script数组及Array对象js_数组对象.htmlfunctionMyArray_1(){//创建数组方式varMyArr=newArray();varMyArr1=newArray(3);varMyArr2=newArray(aa,bb,cc);varMyArr3=[red,green,blue];//两种方式访问数组for(vari=0;iMyArr1.length;i++){MyArr1[i]=i;}for(varpropinMyArr3){//foreach风格的循环document.write(MyArr3[prop]+br);}document.write(hr/);//数组对象的一些方法document.write(MyArr2.join());//数组转换为字符串分隔符默认为,号document.write(br);document.write(MyArr2.join(、));document.write(br);document.write(MyArr2.toString());document.write(br);document.write(MyArr2.valueOf());document.write(br);document.write(MyArr2.reverse().join());document.write(hr/);}MyArray_1();//数组的数组(交错数组)functionMyArray_2(){//创建vararr=newArray(4);for(vari=0;iarr.length;i++){arr[i]=newArray(3);for(varj=0;jarr[i].length;j++){arr[i][j]=j+i;}}//遍历for(vari=0;i4;i++){document.write(br);for(varj=0;j3;j++)document.write(arr[i][j]+);}vararr2=[[哈哈,嘻嘻,嘿嘿],[你,我,他]];for(vari=0;iarr2.length;i++){document.write(br);for(varj=0;jarr2[i].length;j++)document.write(arr2[i][j]+);}}MyArray_2();functionMyArray_3(){varfruit=newArray(3);fruit[0]=newArray(苹果,3);fruit[1]=newArray(香蕉,2,好香);fruit[2]=newArray(橙子,4);for(vari=0;ifruit.length;i++){for(varj=0;jfruit[i].length;j++){document.write(fruit[i][j]+);}document.write(br);}}MyArray_3();/scriptError对象scripttype=text/javascript/*Error对象属性messagename*/functionsum(a,b){if(isNaN(a)||isNaN(b)){thrownewError(argumentsarenotnumbers);//可抛出任何数据类型的异常}returna+b;}try{vars=sum('b',200);document.write(s);}catch(e){alert('异常信息:'+e.message+\n异常名:+e.name);}finally{alert(finally...);}/script自定义对象js1_对象1.htmlscripttype=text/javascript//类的写法-----1functionMyClass(name,age){this.name=name;//声明属性(共有成员)this.age=age;this.birthday=1990-8-8;this.display=display;//定义一个方法this.show=function(){//这样也可以定义方法alert(我的名称:+this.name+\n年龄:+this.age);}}functiondisplay(){alert(我的方法.....);}varobj1=newMyClass(张小三,50);//alert(typeof(obj1));//new调用构造函数创建类的实例初始化对象返回对象引用//obj1.display();//obj1.show();//alert(obj1.name++obj1[age]);//属性的引用//反射机制for(var属性名in对象名)for(varpropinobj1){//如果ojb1的成员prop的类型不是functionif(typeof(obj1[prop])!=function)alert(prop:+obj1[prop]);}//with用法设置默认对象with(obj1){alert(name:+name);alert(age:+age);}/scriptjs1_对象2.htmlscript//类的写法-----2varuser=newObject();//动态添加属性、方法user.name=aaa;user.age=20;user.alert=function(){alert(this.name);}Object.prototype.alert2=function(){alert(this.age)}//调用user对象的方法user.alert();user.alert2();//动态修改属性、方法user.name=bbbuser.alert=function(){alert(hello+this.name);}Object.prototype.alert2=function(){alert(hello+this.age)}user.alert();user.alert2();//删除属性、方法user.name=null;user.alert=undefined;user.alert2=undefined;//删除属性、方法后再企图调用被删除的属性、方法将报错user.alert();user.alert2();/scriptjs1_对象3.htmlscripttype=text/javascript//prototype原型对象为函数对象的子对象表示函数对象的成员集合functionMyClass(){};//定义空对象//添加属性、方法MyClass.prototype={name:aaa,//注意这里是,号show:function(){alert(这是+this.name);}}//也可以这样添加属性、方法MyClass.prototype.age=100;MyClass.prototype.display=function(){alert(年龄:+this.age)};//实例化对象并调用方法varobj=newMyClass();obj.display();MyClass.birthday=1990-9-9;//静态属性类名直接调用MyClass.myprint=function(){//静态方法alert(静态方法:+this.birthday);}alert(静态属性birthday:+MyClass.birthday)MyClass.myprin