【JavaScript】(6)Object、String、Array、Date对象的方法、属性(constructor、prototype)
来源:互联网 发布:js md5 sha1 消耗时间 编辑:程序博客网 时间:2024/05/16 15:54
Object对象:
1、【Object对象】—-提供JavaScript对象通用的功能
1.1、使用格式:var obj=new Object( [value] ); alue为基本数据类型[ Number, Boolean ,String]1.2、prototype 属性 | constructor 属性
代码演示:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JavaScript语言基础---对象</title> </head> <body> <script type="text/javascript"> var obj=new Object( ); //1.2、Object的方法 alert(typeof(obj));//结果:object alert(obj.toString());//结果:[ object Object ] alert(obj.valueOf());//结果:[ object Object ] //1.3、obj类似于show方法 function show(){ alert("hello,show"); } alert(typeof(show) ); //1.4、toString()、toLocaleString()、valueOf()三个结果一样 alert("1 :"+show.toString()); alert("2 :"+show.toLocaleString()); alert("3 :"+show.valueOf()); </script> </body></html>
out.js:
function println(arr){ document.write(arr+"<br>");}function print(arr){ document.write(arr);}
String对象:
1、【String对象】—-可用于处理或格式化文本字符串以及确定和定位字符串中的子字符串。
2、String对象的创建方式:两种
★、var newString=new String([ "stringLiteral" ]);【注意:】这种方式是克隆出一个新的String对象★、var newString="anystring";
<script type="text/javascript"> var str1="abc123"; var str2=new String("abc123"); println(str1); println(str2);</script>
3、【String对象中的方法 (部分方法) 】
★.anchor:在对象中的指定文本两端放置一个有 NAME 属性的 HTML 锚点。 ★.big:把 HTML <BIG> 标记放置在 String 对象中的文本两端。★.charAt( index ):返回指定索引位置处的字符,从0开始索引,超出范围返回空字符串。★.charCodeAt:返回一个整数,代表指定位置上字符的 Unicode 编码。★.fontsize:strVariable.fontsize(intSize)★.fromCharCode:从一些 Unicode 字符值中返回一个字符串; 用法:String.fromCharCode([code1[, code2[, ...[, codeN]]]])。★.indexOf( substring [,subindex]):返回 String 对象内第一次出现子字符串的字符位置。★.lastIndexOf :返回 String 对象中子字符串最后出现的位置。strObj.lastIndexOf(substring[, startindex])
String对象部分方法代码演示:
<script type="text/javascript"> alert(str1.anchor("pos1"));//结果:<a name="pos1">abc123</a> println(str1.big());//字号变大 println(str2.bold());//字体加粗 println(str2.charAt(12));//abc123 :c println(str1.charCodeAt(0));//97 println(str1.concat()); println(str1.fixed());//按打印机格式 println(str1.fontcolor("#ff0000"));//设置字体颜色 println(str1.fontsize(20));//设置字体大小 var str=String.fromCharCode(99,100,101,104); println(str); println(str1.indexOf("c12", 0));//字串第一次出现的位置 println(str1.italics());//斜体 println(str1.lastIndexOf("c", 0)); //str1=str1.link("http://www.hncu.net");//设置str1超链接 println(str1); println(str1.sub() );//下标,字体变小 println(str1.sup());//上标 println(str1.toUpperCase());//变大写 println(str1.toLowerCase());//表小写 println("str1:"+str1); println(str1.substring(0, 2));//[0,2)之间的字串</script>
length属性:
<script type="text/javascript"> //【length属性】 var str1="abc123"; println("str1.len:"+str1.length);</script>
constructor属性:
<script type="text/javascript"> //【constructor属性】 var str="abc12"; alert(str.constructor);//【结果:】function String(){ native code] } ---js中的对象是用function来做的 alert(str.constructor==String);//【结果:】true</script>
prototype属性:
功能:返回对象类型原型的引用
格式:String.protoype.自定义属性名 | 方法名=”value”| function(){ [ncode] };
案例1:【prototype用法演示】:给String原型对象添加一个我们写的属性
<script type="text/javascript"> String.prototype.name_1="Tom"; String.prototype.age_1="12"; var a="abc122"; println(a.name_1+","+a.age_1);</script>
结果:
案例2:【 给String对象添加一个trim( str )函数】
<script type="text/javascript"> function trim(str){ var start=0; var end=str.length-1; while(start<=end && str[start]==" "){ start++; } while(start<=end && str[end]==" "){ end--; } return str.substring(start,end+1); } var s=" aa 11 "; var res=trim(s); lert("##"+res+"##"); /*符合题意要求,剪了括号,但是怎能才能将此trim()融合到对象中去?下次调用的时候直接用str.trim();*/</script>
案例3:【给String原型对象添加一个我们写的trim()方法】
<script type="text/javascript"> String.prototype.trim=function(){ var start=0; var end=this.length;//不知道是哪个对象的length,用this最合适 while(start<=end && this[start]==" "){ start++; } while(start<=end && this[end] ==" "){ end--; } return this.substring(start, end+1); }; var b=" aa bb aa "; println("b= "+b.trim());</script>
案例4:【给String原型对象添加一个我们写的toCharAarray()方法】
<script type="text/javascript"> //4.3、【给String原型对象添加一个我们写的toCharAarray()方法】 String.prototype.toCharrArray=function(){ var chs=[];//声明一个数组 for(var i=0;i<this.length;i++){ chs[i]=this.charAt(i);//将this中的第i个字符赋给数组chs[i] } return chs; }; //测试 var ar="abcdefjhl23141469"; var str=ar.toCharrArray(); println(str); </script>
结果:
——
案例5:【给String原型对象添加一个reverse方法(翻转)】
<script type="text/javascript"> String.prototype.reverse=function(){ //【注意】:js函数内部是可以定义内部函数的,跟Java的内部类一样 function swap(arr,i, j){ var temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } var arr=this.toCharrArray(); for(var i=0,j=arr.length-1;i<=j;i++,j--){ swap(arr,i,j); } return arr.join(""); }; var c="abcdefhijklmnop"; println(c.reverse());//结果:"ponmlkjihfedcba"</script>
Array对象:
1、【作用】:提供对创建任何数据类型的数组的支持。
2、【创建方式】:
(1)、arrayObj=new Array( );
(2)、arrayObj=new Array( [size] );3、【注意】js中的数组相当于java中的数组和集合的综合。
4、【特点】
(1)、js中的数组长度可变,类型任意,相当于java中的—ArrayList array=new ArrayList( );
(2)、Array中为赋值的元素输出结果空。
——
5、创建Array对象方式代码演示:
<script type="text/javascript"> //创建方式: //方式1:new Array( ) arrObj=new Array( ); arrObj[0]="hello,abc"; arrObj[1]=true; arrObj[2]=3.1415; arrObj[3]=100; arrObj[5]='a'; println(arrObj);//结果:hello,abc,true,3.1415,100,,a //方式2:new Array( [size] ) arrObj2=new Array( 5 ); arrObj2[0]="hiabc"; arrObj2[1]=false; arrObj2[5]=3.1415; println(arrObj2);//结果:hiabc,false,,,,3.1415 //方式3:new Array(element0...) arrObj3=new Array("abc",100,3.1415,false); arrObj3[6]="bbb"; println(arrObj3);//结果:abc,100,3.1415,false,,,bbb //方式4:=[ element... ] arrObj4=["JavaScript",'a',20.14]; arrObj4[5]="aabb"; println(arrObj4);//结果:JavaScript,a,20.14,,,aabb //方式5:=[ ] arrObj5=[]; arrObj5[0]="abc"; arrObj5[1]=3.1415; println(arrObj5);//结果:abc,3.1415</script>
——
6、Array对象中的方法:
【concat(Array args)】:返回一个新数组,这个新数组是由两个或更多数组组合而成的。
<script type="text/javascript"> var arr1=["abc", 23.145, 111]; var arr2=[ -100,'z']; var arrTemp1=arr1.concat(arr2,"fff");//将数组arr1、arr2、元素“fff”连接在一起返回新的数组 println(arrTemp1+" arrTemp1.len= "+arrTemp1.length);</script>
【arrayObj.join(separator)】:返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。
<script type="text/javascript"> var arrTemp2=arrTemp1.join("#"); println(arrTemp2);</script>
【arrayObj.pop( )】:移除数组中的最后一个元素并返回该元素。
<script type="text/javascript"> var a=["a","b","c",1,2,3]; println(a.pop());//3 println(a);//a,b,c,1,2</script>
【arrayObj.push(Array args)】: 将新元素添加到数组最后,并返回数组的新长度值。
<script type="text/javascript"> var a2=["a","b","c",1,2,3]; println(a2.push("xyz"));//7 println(a2.push(a));//8 :把a整个数组当做一个元素加入到a2中 println(a2);</script>
【arrayObj.shift( )】: 移除数组中的第一个元素并返回该元素。
<script type="text/javascript"> var a=["a","b",2,3]; println(a.shift());//a println(a);//b,2,3</script>
【arrayObj.unshift(Array start)】:将指定的元素插入数组开始位置并返回新数组的长度。
<script type="text/javascript"> var a=["a","b",2,3]; println(a.unshift("A"));//5 println(a);//A,a,b,2,3</script>
【arrayObj.slice(start, [end])】:返回一个数组的一段。
<script type="text/javascript"> var b=[112,141,51,90,"aa","bb",22]; println(b.slice(1, 3));//141,51</script>
【arrayobj.sort(sortfunction)】:返回一个元素已经进行了排序的 Array 对象。
其中sortfunction是来确定元素顺序的函数的名称,
如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。
注意:sortfunction函数必须返回负数,正数或者0。
<script type="text/javascript"> var c=["b","a","e","x","f"]; c.sort(); println(c);//a,b,e,f,x c.sort(function(){ return 1; }); println(c);//x,f,e,b,a</script>
【arrayobj.splice(Number start, Number deletecount, Array items)】:
从一个数组中移除一个或多个元素,如果必要,
在所移除元素的位置上插入新元素,返回所移除的元素。
<script type="text/javascript"> var c=["b","a","e","x","f"]; println(c.splice(0, 3, "aa"));//返回的是移除的元素:b,a,e println(c);//aa,x,f</script>
——
7、把js中的Array包装成我们喜欢的队列或栈操作方式
<script type="text/javascript"> //7.1、队列 Array.prototype.addFirst=function(element){ return this.unshift(element); }; Array.prototype.removeFirst=function(){ return this.shift(); }; //7.2、栈 Array.prototype.addLast=function(element){ return this.push(element); }; Array.prototype.removeLast=function(){ return this.pop(); }; //测试 var b=["abc", "YES", 200, '&', false]; b.addFirst("aabbc"); b.removeFirst(); b.addLast("**sss**"); b.removeLast(); println(b);</script>
8、自定义求数组中的最大值方法
<script type="text/javascript">var a=[12,51,55,-90,-61,100,-9];Array.prototype.getMax2=function(){ var max=0; for(var i=0;i<this.length;i++){ if(this[max]<this[i]){ max=i; } } return this[max];};println(a.getMax2());</script>
Date对象:
1、【Date对象】—启用基本存储器并取得日期和时间
2、【创建方式】:(1)、dateObj=new Date( );
(2)、dateObj=new Date(dateVal);
(3)、dateObj=new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]]);3、【注意】:year、month、date为必选项,后边的为可选项
——
4、创建方式:
<script type="text/javascript"> //创建方式1---获取当前的时间 var d=new Date( ); println(d);//Thu May 04 2017 15:48:42 GMT+0800 (中国标准时间) println(d.toDateString());//【结果为日期】Thu May 04 2017 println(d.toLocaleTimeString());//【获取时间】下午3:50:40 //创建方式2---new一个固定的时间 var d2=new Date("2017/5/4"); println(d2.toDateString());//Thu May 04 2017 println(d2.toLocaleTimeString());//上午12:00:00 </script>
5、获得年、月、日、时、分、秒、毫秒
var d=new Date( );//年println(d.getFullYear());//月println(d.getMonth()+1);//日println(d.getDate());//时println(d.getHours());//分println(d.getMinutes());//秒println(d.getSeconds());//毫秒println(d.getMilliseconds());
计算昨天的日期是多少?
var d1=new Date(); var time=d1.getTime();//当前time println(d1.toDateString()); time=time-1*24*60*60*1000;//昨天的time var d2=new Date(time);//new出昨天的date println(d2.toDateString());
- 【JavaScript】(6)Object、String、Array、Date对象的方法、属性(constructor、prototype)
- JavaScript---对象学习(一)object对象、string对象、javaScript的constructor属性和prototype属性
- JavaScript---网络编程(3)-Object、String、Array对象和prototype属性
- JavaScript Object.prototype.constructor属性详解
- javascript 中的 prototype和constructor属性的使用(constructor属性始终指向创建当前对象的构造函数,每个函数都有一个默认的属性prototype,而这个prototype的constructor默认指向这个函数)
- JavaScript中几个重要的属性(this、constructor、prototype)
- JavaScript中Object 对象的Prototype属性
- (八)JavaScript Date对象属性方法
- Javascript(二)-05-(常见对象-String-原型属性prototype)
- Javascript属性constructor/prototype的底层原理
- Javascript String|Date|Array|Math|Boolean|Number对象方法详解
- 【javascript】使用prototype属性格式化Date对象
- JavaScript基础(DOM)-Document对象、Element 对象、Attribute 对象 -JavaScript的内置对象(Array 对象、Date 对象、String 对象)
- Array对象的方法实现(6)----Array.prototype.indexOf(实现常规参数的功能)
- 利用prototype属性,对JavaScript对象进行功能扩展,比如数组对象Array,String等
- JavaScript对象(一) --- String, Date, Array
- JavaScript常用对象(String.Array.Date.Math)
- Array对象的方法实现(1)----Array.prototype.push和Array.prototype.concat(实现常规参数的功能)
- Unreal Open Day 2017 参会总结——NVIDA GameWorks 在UE4中的应用
- 关于双向队列
- Initializing a two dimensional std::vector
- 百度定位
- java中给出一个多线程TCP的ServerSocket例子?
- 【JavaScript】(6)Object、String、Array、Date对象的方法、属性(constructor、prototype)
- 深入PHP面向对象、模式与实践——企业模式
- 爬虫入门(二)让爬虫健壮起来
- WINDOWS PE制作
- yolo训练自己的数据实践总结
- Elton John ------Sorry seems to be the hardest
- 文件处理之XML-----DOM方式
- ORACLE SQL性能优化技巧大总结
- JSP 笔记 —— EL 表达式语言