• javaScript 引用类型


    Object类型

      创建Object 实例的属性有两种方式。

        1.使用new 操作符后跟Object 构造函数。

             var   person = new Object();
    
          person.name = "Nicholas";
    
          person.age = 29;        

        2.使用对象字面量表示。

         var person = {
    
            name:"Nicholas",
    
            age: 29
    
          }

         另外还有一种创建对象的方式是使用Object.create()方法,它是一个静态方法。  

        var obj = Object.create({x:1,y:2})

      Object构造函数创建一个对象包装器,对象是一种特殊的数据,对象用于属性和方法。

      访问属性的方法

        1.对象名.属性名           对象名.方法名();

        2.对象名["属性名"]   对象名["方法"]()

        var obj = {
    
            name:"柠檬先生",
            age:20,
            say:function(){
    
              console.log("名字:"+ this.name+"年龄:"+this.age)
            }
        }
        console.log(obj.name);
        console.log(obj["name"]);
        obj.say();
        obj["say"]();

        每个Object类型的实例共有的属性和方法:

          constructor    保存着用于创建当前对象的函数。

            function Tree(name){
    
              this.name = name
            }
            var theTree = new Tree("Redwood");
    
            console.log("theTree.constructor is"+ theTree.constructor);
    输出: theTree.constructor is function Tree (name){this.name = name}

          hasOwnProperty: 用于检测给定的属性在当前对象的实例中是否存在。

            o= new object();
            o.propOne = null;
            o.hasOwnProperty('propOne');// 返回true
            o.propTwo = undefined;
            o.hasOwnProperty('propTwo');// 返回true

          isProtoypeOf:用于检查传入的对象是否是当前对象的原型。

            function Foo(){}
            function Bar(){}
            function Baz(){}
            Bar.prototype = Object.create(Foo.prototype);
            Bar.prototype = Object.create(Bar.prototype);
    
            var baz = new Baz();
            console.log(Baz.prototype.isPrototypeOf(baz));  // true
            console.log(Bar.prototype.isPrototypeOf(baz));  // true

          propertyIsEnumerble:用于检查给定属性能否使用for-in来枚举。

          toLocaleString():返回对象的字符串。

          var number = 3500;
          console.log(number.toLocaleString())  // Displays "3,500" if in U.S. English locale

          toString():返回对象的字符串表示。

            var o = new Object();
            o.toString(); // returns [object Object]

          valueOf(): 返回对象的字符串,数值,或布尔表示,通常和toString() 返回的值相同。   

          var obj   = {name:“张三”,age:"18"};
    
          console.log(obj.valueOf() === obj);// true 

    Array 类型

        数组是一种类列表对象,它的原型中提供了遍历和修改元素的相关操作。

        创建数组的方法:

          隐式创建

              var arr = ["apple","oppo","vivo"];

          直接实例化:

              var arr = new Array("apple","oppo","vivo")

          创建数组并给数组元素赋值

                     var arr = new Array();
    
              arr[0] = "apple";
    
              arr[1] = "oppo";
    
              arr[2] = "vivo";               

        数组遍历方法:

            for 语句

              var  arr = [1,2,4,6];
              for(var i = 0,len = arr.length;i < ken;i++){
                console.log(arr[i])
              }

            forEach 语句

              var arr= [1,2,3,4,5];
              arr.forEach(function(item){
    
                console.log(item)
              })

               for-in 语句

            var obj = {name:‘test’,color:'red',day:'sunday',number:6};
            for(var key in obj){
    
              console.log(obj[key])
            }

          for-of 语句

            var arr= [{name:'nmxs',5,'test'}];
            for(item off arr){
    
              console.log(item)
            }

          map 方法 :方法会给原数组的每个元素都按顺序调一次callback函数。

            var arr = [1,2,3,4];
            var firearr = arr.map(current = > current * 5)

          reduce  方法:  让数组中的前项和后项做某种计算

            var  wallets = [4,7,8,3];
            var totalMoney = wallets.reduce(function (countedMoney,wallet){
    
              return countedMoney + wallet.money
            },0)

          filter 方法:(不改变原数组) filter 为数组中的每一个元素调用一次callback 函数,并利用给所有使得callback 返回true 或 等价于 true 的值的元素创建一个新数组。

            var arr = [1,2,3,4,5];
            var morearr = arr.filter(function(number){
    
              return number > 3;
            })

          every  方法:   为数组中的每一个元素执行一次callback 函数,直到它直到一个使callback 返回false的元素。

            var arr = [1,2,3,4];
            var  result = arr.every(function(item,index){
    
              return item>0
            })

          some 方法; 为数组中的每一个元素执行一次callback 函数,直到找到一个使得callback返回一个真值。

          var arr = [1,2,3,4,5];
          var result = arr.some(function(item,index){
    
            return item > 3;
          })

         

      数组对象方法

          concat() 链接两个或者更多的数组,并返回结果。

            语法:arragObject.concat(arrayX,arrayX,....,arrayX)

          join() 把数组的所有元素放入一个字符串,元素通过指定的分割父进行分隔。

            var arr = ["George","John","Thomas"];
            console.log(arr.join("."))
            // George.John.Thomas

          pop()  删除并返回数组的最后一个元素。

            var arr = ["George","John","Thomas"];
            console.log(arr.pop()) //Thomas
            console.log(arr) // George John

          push() 像数组的莫问添加一个或者多个元素,并返回新的长度。

            var arr = ["George","John","Thomas"];
            console.log(arr.push("Amos")) // 4
            console.log(arr)// George,John,Thomas,Amos

          reverse()  颠倒数组中元素的顺序。

           var arr = ["George","John","Thomas"];
           console.log(arr.reverse()); // Thomas,John,George

          shift() 删除并返回数组的第一个元素。

           var arr = ["George","John","Thomas"];
           console.log(arr.shift()) // George
           console.log(arr) // John,Thomas

          slice() 从某个已有的数组返回选定的元素。

          var arr = ["George","John","Thomas"];
          console.log(arr.slice(1)) // George,John
          console.log(arr.slice(1,2)) // John

          sort()  对数组的元素进行排序。

          var arr = ["George","John","Thomas","1"];
          console.log(arr.sort()) // 1,George,John,Thomas

          splice() 删除元素,并向数组添加新元素。    

          var arr = ["George","John","Thomas","Amose"];
          console.log(arr.splice(1,0,"a")) // 像数组1 的位置添加元素 George a John Thomas Amose

          toString()  把数组转换为字符串,并返回结果。

          var arr = ["George","John","Thomas","Amose"];
          console.log(arr.toString()) // George,John,Thomas,Amose

          toLocaleString()  把数组转换为本地数组,并返回结果。

          var arr = ["George","John","Thomas"];
          console.log(arr.toLocaleString()) // George, John,Thomas

          unshift()   像数组的开头添加一个或更多元素,并返回新的长度。

          var arr = ["George","John","Thomas"];
          console.log(arr.unshift("Will")) // 4
          console.log(arr) // will,George,John,Thomas

          valueOf()    返回数组对象的原始值。

          var arr = ["George","John","Thomas"];
          console.log(arr.valueOf())

    Date 类型

        Date 对象的语法 

          Date()来取当前天的日期
          Date()  // 来取当前天的日期
          //   Thu Nov 28 2019 22:13:23 GMT+0800 (中国标准时间)"

          getDate()  方法返回月份的某一天

          var D = new Date();
          console.log(D.getDate()) // 28

         getDay() 方法可返回表示星期的某一天的数字0~6

          var D = new Date();
          console.log(D.getDay()) //4

         getMonth() 方法可返回表示月份的数字  0一月 11 十二月   

          var D = new Date();
          console.log(D.getMonth()) // 10

        getFullYear()   方法可返回一个标识年份的4位数字。   

          var D = new Date();
          console.log(D.getFullYear()) // 2019

        getHours() 方法可返回时间的小时字段

        var D = new Date();
        console.log(D.getHours) // 23

        getMinutes()   方法可以返回时间的分支字段

        var D = new Date();
        console.log(D.getMinutes()) //16

        getSeconds()   方法返回时间的秒 0~59

         var D = new Date();
         console.log(D.getSeconds) // 22

        getMilliseconds()   方法可以返回时间的毫秒

        var D = new Date();
        console.log(D.getMilliseconds()) // 847

        getTime()   方法可返回距 1970年1月1日之间的毫秒数

        var D = new Date();
        console.log(D.getTime()) //1575106709254

        getTimezoneOffset()  返回本地时间与格林威治标准时间的(GMT)的分钟差。

        var D = new Date();
        console.log(D.getTimezoneOffset()) // -480

        getUTCDate()  根据世界时从Date 对象返回月中的一天(1-31)

        var D = new Date();
        console.log(D.getUTCDate()); // 30

        getUTCDay()    根据世界时返回表示星期的一天的一个数字

        var D = new Date();
        console.log(D.getUTCDay()); // 6

         getUTCMonth()   返回一个表示月份 0~11

        var D = new Date();
        console.log(D.getUTCMonth()) // 11

        getUTCFullYear()  方法可返回根据世界时(UTC)表示的年份的四位数字

        var D = new Date();
        console.log(D.getUTCFullYear()) // 2019

        getUTCHours()   方法可根据世界时 返回时间的小时 0 ~23

       var D = new Date();
       console.log(D.getUTCHours) // 8

        getUTCMinutes()  方法可根据世界时(UTC)返回时间的分支字段

        var D = new Date();
        console.log(D.getUTCMinutes()) // 54

        getUTCSeconds()  方法可根据世界时返回时间的秒

        var D = new Date();
        console.log(D.getUTCSeconds()); // 30

        getUTCMillseconds()  方法可根据世界时(UTC) 返回时间的毫秒

        var D = new Date();
        console.log(D.getUTCMillseconds) // 674

        parse()   方法可解析一个日期时间字符串,并返回1970/1/1 午夜距离该时间的毫秒数。

        var D = Date.parse("Jul 8,2005");
        console.log(D)   // 1120752000000

         setDate()  方法用于设置一个月的某一天

        var D = new Date();
        console.log(D.setDate(34)) //1120752000000

        setMonth() 用于设置月份

        var D = new Date();
        console.log(D.setMonth(0)) //1562060036823

        setFullYear() 方法用于设置年份

        var D = new Date();
       console.log(D.setFullYear(1997)) //881055386620

         setHours 方法用于设置指定的时间的侠士字段

        var D = new Date();
       D.setHours(19);
       console.log(D) //Mon Dec 02 2019 19:40:05 GMT+0800 (中国标准时间)

       setMinutes()  方法用于设置指定时间的分钟字段

         var D = new Date();
         D.setMinutes(1);
         console.log(D); //Mon Dec 02 2019 18:01:32 GMT+0800 (中国标准时间)

       setSeconds()   方法用于设置指定时间的秒字段

         var D = new Date();
         D.setSeconds(1)
         console.log(D) // Mon Dec 02 2019 18:25:01 GMT+0800 (中国标准时间)

        setMilliseconds()   方法用于设置指定时间的毫秒字段

        var D = new Date();
        D.setMilliseconds(998);
        console.log(D);

         setTime()  方法以毫秒设置Date 对象

        var D = new Date();
        D.setTime(77771564221)
        console.log(D) //Mon Jun 19 1972 11:12:44 GMT+0800 (中国标准时间)

       setUTCDate()  方法用根据世界时   设置一个月的某一天。

        var D = new Date();
        D.setUTCDate(15);
        console.log(D) //Sun Dec 15 2019 18:45:41 GMT+0800 (中国标准时间)

       setUTCMonth()  方法用于根据世界时间来设置月份。

        var D = new Date();
        D.setUTCMonth(3);
        console.log(D); //Tue Apr 02 2019 18:48:21 GMT+0800 (中国标准时间)

         setUTCFullYear()  方法用于根据世界时间这只年份 

        var D = new Date();
        D.setUTCFullYear(2001);
        console.log(D); //Sun Dec 02 2001 18:51:51 GMT+0800 (中国标准时间)

       setUTCHours()     方法用于根据世界时 设置小时 (0-23)

        var D = new Date();
        D.setUTCHours(22);
        console.log(D); // Tue Dec 03 2019 06:54:25 GMT+0800 (中国标准时间)

       setUTCMinutes()  方法用于根据世界时来设置指定时间分钟。

       var D = new Date();
       D.setUTCMinutes(33);
       console.log(D); // Mon Dec 02 2019 18:33:28 GMT+0800 (中国标准时间)

        setUTCSeconds()   方法用于根据世界时设置指定时间的秒

        var D = new Date();
        D.setUTCSeconds(44);
        console.log(D) // Mon Dec 02 2019 19:10:44 GMT+0800 (中国标准时间)

         setUTCMilliseconds 方法用于根据世界时间设置指定时间的毫秒

        var D = new Date();
        D.setUTCMilliseconds(888);
        console.log(D); // Mon Dec 02 2019 19:17:25 GMT+0800 (中国标准时间)

         toSource()   方法返回表示对象源代码的字符串。

       toString()   方法可把Date对象转换为字符串,并返回结果。

        var D = new Date();
        console.log(D.toString()) // Mon Dec 02 2019 19:26:05 GMT+0800 (中国标准时间)

       toTimeSring()   方法可把Date 对象的时间部分转换为字符串,并返回结果

        var D = new Date();
        console.log(D.toTimeString()) // 19:29:09 GMT+0800 (中国标准时间)

       toDateString()  方法可把Date 对象的日期部分转换为字符串,并返回结果。

       var D = new Date();
       console.log(D.toDateString()); // Mon Dec 02 2019

          toUTCString() 方法可根据世界时把Date 对象转换为字符串,并返回结果。

        var D = new Date();
        console.log(D.toUTCString()); // Mon, 02 Dec 2019 11:40:07 GMT

          toLocaleString()   方法可根据本地时间把Date 对象转换成为字符串,并返回结果。

        var D = new Date();
        console.log(D.toLocaleString()); // 2019/12/2 下午7:43:24

       toLocaleTimeString()   方法可根据本地时间把Date 对象的时间部分转换成为字符串,并返回结果。

        var D = new Date();
        console.log(D.toLocaleTimeString()) // 下午7:52:12

        toLoacaleDateString()   方法可根据本地时间把Date 对象的日期部分转换为字符串,并返回结果。

        var D = new Date();
        console.log(D.toLocaleDateString()) // 2019/12/2

         UTC 方法可根据世界时返回   1970年 1 月1日   到指定日期的毫秒数。

        var D = new Date();
        D.UTC(2019,12,7);
        console.log(D)

    RegExp 类型

           对象表示正则表达式,它是对字符串执行模式匹配的强大工具。

    Function 类型

         函数声明

           function sum(num1,num2){return num1 + num2}

        函数表达式

          var sum = function(num1,num2){return num1 + num2}

        构造函数

          构造函数接受三个参数,除了最后一个参数是add 函数的函数体,其他函数都是add 函数的参数。

          var sum = new Function("num1","num2","return num1 + num2")

    单体内置对象

      Global  对象

        对象不能直接访问,浏览器客户端,全局对象window对象,表示web浏览器窗口。

      Math 对象

        是一个内置对象,它具有数学和函数的属性和方法。不是一个函数对象。

  • 相关阅读:
    作业3月30号
    21、,模块与包的使用
    作业3月26号
    20、面向函数与匿名函数及模块
    作业3月25号
    19、迭代器及函数的递归调用
    作业3月24号
    06-函数
    3.17---购物车练习
    3.15---文件处理练习2
  • 原文地址:https://www.cnblogs.com/nmxs/p/11809039.html
Copyright © 2020-2023  润新知