【JavaScript】(6)Object、String、Array、Date对象的方法、属性(constructor、prototype)

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()); 
Date 对象属性constructor 返回对创建此对象Date 函数的引用。prototype 使您有能力向对象添加属性方法Date 对象方法getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。getFullYear() 从 Date 对象以四位数字返回年份。getHours() 返回 Date 对象的小时 (0 ~ 23)。getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。getMonth() 从 Date 对象返回月份 (0 ~ 11)。getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。getTime() 返回 1970 年 1 月 1 日至今的毫秒数。getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。getYear() 已废弃。 请使用 getFullYear() 方法代替。parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。setFullYear() 设置 Date 对象中的年份(四位数字)。setHours() 设置 Date 对象中的小时 (0 ~ 23)。setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。setMonth() 设置 Date 对象中月份 (0 ~ 11)。setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。setTime() setTime() 方法以毫秒设置 Date 对象。setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。setUTCSeconds() setUTCSeconds() 方法用于根据世界时 (UTC) 设置指定时间的秒字段。setYear() 已废弃。请使用 setFullYear() 方法代替。toDateString() 把 Date 对象的日期部分转换为字符串。toGMTString() 已废弃。请使用 toUTCString() 方法代替。toISOString() 使用 ISO 标准返回字符串的日期格式。toJSON() 以 JSON 数据格式返回日期字符串。toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。toLocaleString() 据本地时间格式,把 Date 对象转换为字符串。toString() 把 Date 对象转换为字符串。toTimeString() 把 Date 对象的时间部分转换为字符串。toUTCString() 根据世界时,把 Date 对象转换为字符串。UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。valueOf() 返回 Date 对象的原始值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值