• 第三节(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>
  • 相关阅读:
    DCR挖矿成本¥355.92,市价¥346.24——五大币种挖矿成本分析 2018-08-7
    智者见智——区块链3.0与未来
    梭哈10万入场,拿住不放,3年后收益过十亿,币圈传奇—大空翼
    从路人甲到叱咤币圈的神话:“打死也不卖币”的宝二爷
    小白眼里的区块链和币圈 —— 持币待涨的故事
    区块链如何赋能网络互助行业?来自众托帮+区块链的应用、车车助+纷享车链AutoChain应用
    中国青年网记者-阿里巴巴王坚:互联网已成为世界发展的基础设施
    读者咩叭:畅谈经济未来
    中青网财经:请一位心理学博士当CTO 只有马云敢这么做
    云科技时代:阿里云创造者写了《在线》,这是一本怎样的书?
  • 原文地址:https://www.cnblogs.com/Deng1185246160/p/4236471.html
Copyright © 2020-2023  润新知