第三节(JavaScript 对象、日期,函数)

JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等

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

    属性和方法 (属性是与对象相关的值、方法是能够在对象上执行的动作)
  
    例: 学生 student

    student属性:
  
    student.name = 美女;  
    student.age = 18 ;
    student.sex = 女 ;
    student.isMarry = true ;
   
student的方法: student.eat()
// 吃饭 student.sleep() // 睡觉 student.ddd() // 打豆豆 student.baby() // 抱孩子 学生的属性包括姓名、年龄、性别、婚否等 所有学生都有这些属性,但是每位同学的属性都不尽相同 学生的方法可以是吃饭、睡觉、打豆豆、抱孩子等 所有学生都拥有这些方法,但是它们被执行的过程和结果都不尽相同。
 JavaScript 中的对象: 在 JavaScript 中,对象是数据(变量),拥有属性和方法
  声明一个Javascript变量
   var name = “Ming" ;
   创建了一个 JavaScript 字符串对象 , 字符串对象拥有内建的属性 length。对于上面的字符串,length 的值是 4
字符串对象同时拥有若干个内建的方法.

   属性:name.length = 4 ;  
   方法:name.indexOf()  ,  name.replace()  , name.search()
   在面向对象的语言中,属性和方法常被称为对象的成员
   自己创建JavaScript 对象:
  JavaScript 中的几乎所有事务都是对象:字符串、数字、数组、日期、函数,等
   例:

people = new Object() ;
people.name = “美女";
people.age = 18;
people.sex = 女;
people.isMarry = 是;
    
      document.write(person.name + " is " + person.age);

  访问对象的方法 :

  对象名.方法名

   例:  var msg = "my name is arry" ; (使用 String 对象的 toUpperCase() 方法来把文本转换为大写)

   var text= msg.toUpperCase() ;

<!doctype html>
<html>
    <head>
        <!--声明当前页面的编码集:charset=gbk,gb2312(中文编码),utf-8国际编码-->
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <!--当前页面的三要素-->
        <title>创建JavaScript 对象 </title>
        <meta name="Keywords" content="关键词,关键词">
        <meta name="description" content="">

        <!--css,js-->
        <style type="text/css">
            *{margin:0;padding:0;}

        </style>

    </head>
<body>
<script type="text/javascript">
    
    // 自己创建Javascript对象
    people = new Object();
    people.name = "美女";
    people.sex = '';
    people.age = 18; // 代表数字类型
    people.isMarry = '';
    // 取值方法:

    // 对象名.属性名

    document.write(people.name+"是一个漂亮的"+people.sex+"孩子,今年"+people.age+"岁,但是她已经结婚了,你们都没有机会了! 哈哈 .....<br /><br />");
    // 访问对象的属性

    var msg = "my name is ming !";
    // 对象名.属性名
    var val = msg.length;
    document.write("msg字符串的长度:"+val);
    // 访问对象的方法

    var txt = msg.toUpperCase();
    document.write("<br /><br />转换前:"+msg+"<br /><br />转换后的文本:"+txt);
</script>
</body>
</html>
1:对象的检索方式有两种:
var book = {"name":"三毛流浪记","price":10};
第一种:book.name ="三毛流浪记";
第二种:book["name"] = "三毛流浪记",
    book["price"] = 10;
:2:对象的检索方式有两种:
var book = {"name":"三毛流浪记","price":10};
第一种:book.name ="三毛流浪记xx";
第二种:book["name"] = "三毛流浪记xx",
    book["price"] = 100;

3:对象的反射使用:typeOf
var book = {"name":"三毛流浪记","price":10,"callabck":function(){
            alert(1123);
}};
typeof book.name ==string
typeof book.price == 10
typeof book.callback == function



4:对象的赋值使用:delete
var book = {"name":"三毛流浪记"}
 book.name = "想学习";//更新
 book.price = 10;//创建
 book.time = "2012-12-12"//创建

5:对象的循环使用:for in
var book = {"name":"三毛流浪记",price:10}
for(var key in book){
   alert("键:"+key+"对应的值是:"+book[key]);
} 





<script type="text/javascript">
        /* javascript对象有哪一些呢:
            1:对象,object
            2:日期  Date
            3:数组,Array 
            4:正则表达式Regex Regex
            5:函数  function
        */
        /*
            对象的定义:
            如:var book = {};//定义一个空对象
            var book2 = {key:value};//HashMap
            var book2 = {"name":"Javascript进阶","price":10,"date":"2012-12-12"};
        */
        
        //var age = 20;//number
        //var age2 = 20;//string
        //alert(age == age2);//true
        //alert(age === age2);//false
        var people = {
            name : "Ming",
            age : 20,
            test : function(){
                alert("对象里面定义了方法哦!");
            }
        };
        //1:对象的检索方式两种
        //alert("姓名是:"+people.name+",年龄:"+people.age);
        //2:对象的第二种方式获取
        //alert("姓名是:"+people["name"]+",年龄:"+people["age"]);
       
        //2对象的更新
        //people.name ="IOY";
        //people.age = 23;
        //people["name"] ="IOY123";
        //alert("姓名是:"+people.name+",年龄:"+people.age);
    
        //3:对象的反射typeof就是判断属性对应的数据类型
        //alert(typeof people);//object
        //alert(typeof people.name)//string
        //alert(typeof people.age)//number
        //alert(typeof people.test)//function
        //4:对象里面方法的调用:people.test();
        
        //5:对象的创建
        //var book = {};//定义一个空对象
        //book.name = "三毛流浪记!";
        //book.price = 23;
        //alert(book.name+"==="+book.price);
        
        //6对象删除 delete
        //var book2 = {"name":"想你了!"};
        //alert("对象book2删除之前是:"+book2.name);//想你了!
        //delete book2.name;
        //alert("对象book2删除之后是:"+book2.name);//undefined
        //book2.name = "我有复活了!!";
        //alert("对象book2删除之后复活了的值是:"+book2.name);//undefined
        //一个对象里面的属性一定被删除了,只不过是值被赋予了undefined而已。它没有真正意义上的把name属性给剔除.
        //对象的值获取方式,for in
        //var classroom = {room:"教室一",number:48,code:"S10001"};
        //for(var key in classroom){
        //    alert("key值是:"+key+"; 对应的值是:"+classroom[key]);
        //}


        /*判断是否为数组*/
        function is_array(value){
            return value &&    typeof value === "object" && value.constructor === Array;    
        }
            
        function is_array2(value){
            return value && typeof value ==="object" && typeof value.length ==="number" && typeof value.splice ==="function" && 
            !(value.propertyIsEnumerable("length"))
        }
    
    </script>
日期:

1:Date构造函数:

当前时间 new Date();
Tue Sep 11 2012 15:37:46 GMT+0800 (中国标准时间)

new Date(3600 * 24 * 1000);
Fri Jan 02 1970 08:00:00 GMT+0800 (中国标准时间)

除了构造函数外,Date.UTC()也用于构造日期,但是并不返回Date,而是返回从1970-01-01开始的毫秒数,比如:
 1328054400100, 即2012-01-01 00:00:00 0100
Date.UTC(2012, 1, 1, 0, 0, 0, 100);


2:字符串转日期:

Date.parse(string)方法并不是返回Date,而是返回整数
Date.parse("Jul 8, 2005");
Date.parse("2005-07-08");
Date.parse("2005/07/08");

3:日期转字符串

toString();         // Tue Sep 11 2012 15:09:01 GMT+0800
toTimeString();     // 15:09:34 GMT+0800 
toDateString();     // Tue Sep 11 2012 
toGMTString();      // Tue, 11 Sep 2012 07:10:05 GMT 
toUTCString();      // Tue, 11 Sep 2012 07:10:17 GMT 
toLocaleString();   // 2012年9月11日 15:10:31 
toLocaleTimeString();   // 15:10:45 
toLocaleDateString();   // 2012年9月11日 


4:Get系列方法
Date提供了一系列Get和Set方法,可以获取和设置年份、月份、日期、小时等等信息,并且提供了本地时间和UTC时间两套方案。本地时间方法如下:

var date = new Date();
date.getDate();     // 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
date.getDay();      // 从 Date 对象返回一周中的某一天 (0 ~ 6)。
date.getMonth();    // 从 Date 对象返回月份 (0 ~ 11)。
date.getFullYear(); // 从 Date 对象以四位数字返回年份。不用使用getYear()。
date.getHours();    // 返回 Date 对象的小时 (0 ~ 23)。
date.getMinutes();  // 返回 Date 对象的分钟 (0 ~ 59)。
date.getSeconds();  // 返回 Date 对象的秒数 (0 ~ 59)。
date.getMilliseconds(); //返回 Date 对象的毫秒(0 ~ 999)。
date.getTime()方法返回从1970-01-01开始到现在的毫秒数


  <script type="text/javascript">
        var size = 125118227;
        alert(tm_countFileSize(size));
        tm_forbiddenSelect();


        /*
            Date篇:
            1:获取当前日期:new Date();
            一周的第一天是:星期日
            一周最后一天是: 星期六
            month:0-11
        */
        var date = new Date();
        //Date date = new Date();//java
        document.write(date);
        //Wed Jul 2 22:08:04 UTC+0800 2014 --格林士日期格式
        //星期三(Wed)月份July七月 日期2 时间22:08:04 UTC+0800(时区) 年份2014 
        //获取日期的年份
        var year = date.getYear();//缩率版的年份
        var fullYear = date.getFullYear();
        //获取月份
        var month = date.getMonth()+1;
        //获取日期
        var day = date.getDate();
        if(month <10)month = "0"+month;
        if(day <10)day = "0"+day;
        document.write("<br>当前的年月日是:"+fullYear+"-"+month+"-"+day);
        //时分秒
        var hour = date.getHours();
        var minute = date.getMinutes();
        var second = date.getSeconds();
        document.write("<br>当前的日期是:"+fullYear+"-"+month+"-"+day+" "+hour+":"+minute+":"+second );
        //getTime()--获取日期的毫秒数
        var time = date.getTime();
        var diffTime = time - 24 * 60 * 60 * 1000;
        var date2 = new Date(diffTime);

        //二十四小时制日期格式:yyyy-MM-dd HH:mm:ss 
        //十二小时制日期格式:yyyy-MM-dd hh:mm:ss
        var dateString = date2.format("yyyy-MM-dd EEE hh:mm:ss.S");
        document.write(dateString);
            
        var dateString = "2013-12-12 12:12:12";
        dateString = dateString.replace(/-/g,"/");//把-替换成/
        var dateString = new Date(dateString);
        var date = new Date(dateString);
        //alert(date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate());

        alert(getTimeFormat(date));
        
  </script>
 <body>
    <script type="text/javascript">
        
        /*
            string :
            toLowerCase() 把字符串中的文本变成小写
            toUpperCase() 把字符串中的文本变成大写
            split(delimiter)将字符串分配为数组
            substr(startIndex, length) 从startIndex与,取length个字符
            substring(startIndex, endIndex) 从startIndex和endIndex之间的字符,没有包含endIndex
            indexOf(searchString, startIndex) 返回字符串中第一个呈现指定字符串的地位
            lastlndexOf(searchString, startIndex) 返回字符串中最后一个呈现指定字符串的地位
            charAt(index) 返回指定索引处的字符
            replace(regex, newString)将字符串中的某些字符替代成其它字符

            Math
            PI:3.1415926.....
            abs(x) 返回数字的相对值
            ceil(x) 返回 x 四舍五入后的最大整数
            floor(x) 返回 x 四舍五入后的最小整数
            max(x,y) 返回 x 和 y 之间较大的数
            min(x,y) 返回 x 和 y 之间较小的数
            random() 返回位于 0 到 1 之间的随机函数
            round(x) 四舍五进后与整
            pow(x,y) 返回 y^x 的值
        */

        var str = "ABCDEFghlm5644";
        str = str.toLowerCase();
        //alert("字符串转成小写:"+str);
        str = str.toUpperCase();
        //alert("字符串转成大写:"+str);

        var str2 = "1,2,3,4,5,6";
        var str3 = "单晨#KID#白羊#东东";
        var arr = str2.split(",");
        var arr2 = str3.split("#");


        var str4 = "sddd1s1dfDDDDD";
        //alert(str4.indexOf("1"));//如果找到返回当前字符的位置,否则返回-1
        //alert(str4.indexOf("d"));
        //alert(str4.lastIndexOf("d"));
        //alert(str4.charAt(0));//s
        //alert(str4.charAt(1));//d
        //for(var i=0;i<str4.length;i++){
        //    alert(str4.charAt(i));
        //}
        //str4 = str4.replace(/d/ig,"c");//replaceAll(i不区分大小写g全局替换)
        //alert(str4);

        //alert(Math.PI);    
        ////alert(Math.abs(5));
        //alert(Math.ceil(2.6));//3
        //alert(Math.floor(9.87));//9
        //alert(Math.min(9,1,0,123));//0
        //alert(Math.max(9,800,8888,10));//8888
        alert(Math.random(10));//


    </script>
 </body>
原文地址:https://www.cnblogs.com/Deng1185246160/p/4236471.html