前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >javaScript 引用类型

javaScript 引用类型

作者头像
用户1197315
发布于 2019-12-02 03:20:26
发布于 2019-12-02 03:20:26
1.2K00
代码可运行
举报
文章被收录于专栏:柠檬先生柠檬先生
运行总次数:0
代码可运行

Object类型

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
         var   person = new Object();

      person.name = "Nicholas";

      person.age = 29;        

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     var person = {

        name:"Nicholas",

        age: 29

      }

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    var obj = Object.create({x:1,y:2})

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

  访问属性的方法

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    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 保存着用于创建当前对象的函数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        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: 用于检测给定的属性在当前对象的实例中是否存在。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        o= new object();
        o.propOne = null;
        o.hasOwnProperty('propOne');// 返回true
        o.propTwo = undefined;
        o.hasOwnProperty('propTwo');// 返回true

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        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():返回对象的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var number = 3500;
      console.log(number.toLocaleString())  // Displays "3,500" if in U.S. English locale

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        var o = new Object();
        o.toString(); // returns [object Object]

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var obj   = {name:“张三”,age:"18"};

      console.log(obj.valueOf() === obj);// true 

Array 类型

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

    创建数组的方法:

      隐式创建

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
          var arr = ["apple","oppo","vivo"];

      直接实例化:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
          var arr = new Array("apple","oppo","vivo")

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
                 var arr = new Array();

          arr[0] = "apple";

          arr[1] = "oppo";

          arr[2] = "vivo";               

    数组遍历方法:

        for 语句

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
          var  arr = [1,2,4,6];
          for(var i = 0,len = arr.length;i < ken;i++){
            console.log(arr[i])
          }

        forEach 语句

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
          var arr= [1,2,3,4,5];
          arr.forEach(function(item){

            console.log(item)
          })

       for-in 语句

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        var obj = {name:‘test’,color:'red',day:'sunday',number:6};
        for(var key in obj){

          console.log(obj[key])
        }

      for-of 语句

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        var arr= [{name:'nmxs',5,'test'}];
        for(item off arr){

          console.log(item)
        }

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        var arr = [1,2,3,4];
        var firearr = arr.map(current = > current * 5)

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        var  wallets = [4,7,8,3];
        var totalMoney = wallets.reduce(function (countedMoney,wallet){

          return countedMoney + wallet.money
        },0)

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        var arr = [1,2,3,4,5];
        var morearr = arr.filter(function(number){

          return number > 3;
        })

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        var arr = [1,2,3,4];
        var  result = arr.every(function(item,index){

          return item>0
        })

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var arr = [1,2,3,4,5];
      var result = arr.some(function(item,index){

        return item > 3;
      })

  数组对象方法

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        var arr = ["George","John","Thomas"];
        console.log(arr.join("."))
        // George.John.Thomas

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        var arr = ["George","John","Thomas"];
        console.log(arr.pop()) //Thomas
        console.log(arr) // George John

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        var arr = ["George","John","Thomas"];
        console.log(arr.push("Amos")) // 4
        console.log(arr)// George,John,Thomas,Amos

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
       var arr = ["George","John","Thomas"];
       console.log(arr.reverse()); // Thomas,John,George

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
       var arr = ["George","John","Thomas"];
       console.log(arr.shift()) // George
       console.log(arr) // John,Thomas

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var arr = ["George","John","Thomas"];
      console.log(arr.slice(1)) // George,John
      console.log(arr.slice(1,2)) // John

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var arr = ["George","John","Thomas","1"];
      console.log(arr.sort())  // 1,George,John,Thomas

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var arr = ["George","John","Thomas","Amose"];
      console.log(arr.splice(1,0,"a")) // 像数组1 的位置添加元素    George a John Thomas Amose

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var arr = ["George","John","Thomas","Amose"];
      console.log(arr.toString()) // George,John,Thomas,Amose

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var arr = ["George","John","Thomas"];
      console.log(arr.toLocaleString()) // George, John,Thomas

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var arr = ["George","John","Thomas"];
      console.log(arr.unshift("Will")) // 4
      console.log(arr) // will,George,John,Thomas 

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var arr = ["George","John","Thomas"];
      console.log(arr.valueOf())

Date 类型

    Date 对象的语法 

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      Date()来取当前天的日期
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      Date()  // 来取当前天的日期
      //   Thu Nov 28 2019 22:13:23 GMT+0800 (中国标准时间)"

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var D = new Date();
      console.log(D.getDate()) // 28

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var D = new Date();
      console.log(D.getDay()) //4

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var D = new Date();
      console.log(D.getMonth()) // 10

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      var D = new Date();
      console.log(D.getFullYear()) // 2019

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    var D = new Date();
    console.log(D.getHours) // 23

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    var D = new Date();
    console.log(D.getMinutes()) //16

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     var D = new Date();
     console.log(D.getSeconds)  // 22

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    var D = new Date();
    console.log(D.getMilliseconds())  // 847

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    var D = new Date();
    console.log(D.getTime()) //1575106709254

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    var D = new Date();
    console.log(D.getTimezoneOffset())  // -480

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    var D = new Date();
    console.log(D.getUTCDate());  // 30

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    var D = new Date();
    console.log(D.getUTCDay()); // 6

 setSeconds() 设置当前时间段的秒

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    var D = new Date();
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-11-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
你根本不懂Javascript(EP4 this关键字和对象原型)
同时注意如果给this传进原始类型的数据时,对应数据会进行装包(boxing),即转换成对应 Obj (new String(……), new Boolean(……), or new Number(……), respectively)
szhshp
2022/09/21
2980
javascript 跳跃式前进 (2) - 作用域及引用类型
上一节我们说了那些JS的基本概念相关的..今天我们接着来扯扯作用域对象这些基础知识;
CRPER
2024/02/07
1140
你对JavaScript的Array对象了解有多少?
工作中,数组应用非常广泛,菜单、列表、banner图等等都会应用到数组,所以必须对数组的属性和方法非常熟练才OK,下面一起来了解一下。
Javanx
2019/09/04
5710
javascript常用技巧
map() (映射)方法最后生成一个新数组,不改变原始数组的值。其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
前端_AWhile
2019/09/16
7820
Javascript之其实我觉得原型链没有难的那么夸张!
  原型链、闭包、事件循环等,可以说是js中比较复杂的知识了,复杂的不是因为它的概念,而是因为它们本身都涉及到很多的知识体系。所以很难串联起来,有一个完整的思路。我最近想把js中有点意思的知识都总结整理一下,虽然逃不开一些一模一样的内容,但是自己造一下轮子,按照自己的思路。也别有一番味道。
zaking
2020/08/19
7730
20道常被问到的JavaScript题目
可以给img标签统一自定义属性data-src='default.png',当检测到图片出现在窗口之后再补充src属性,此时才会进行图片资源加载。
helloworld1024
2022/09/26
4460
JavaScript中的类型判断
类型判断在 web 开发中有非常广泛的应用,简单的有判断数字还是字符串,进阶一点的有判断数组还是对象,再进阶一点的有判断日期、正则、错误类型,再再进阶一点还有比如判断 plainObject、空对象、Window 对象等等。
ConardLi
2019/05/23
1.3K0
你不知道的 Javascript
作用域 词法作用域:编译阶段确定(欺骗词法作用域 eval with) JavaScript 1 2 3 4 5 6function foo(str){ "use strict" eval(str) console.log(a) } foo('var a = 2') JavaScript 1 2 3 4 5 6 7 8 9function foo(obj){ with (obj){ a = 2 } } var o1 = {a:3} var o2 = {b:3} foo(o1) foo(o2) 块
用户1667431
2018/04/18
7730
JavaScript String、Array、Object、Date 常用方法小结
  反正闲着也是闲着,稍微整理总结了一下 JavaScript 字符串、数组、对象、时间的常用方法,阿彪出品,必属精品/滑稽。
老猫-Leo
2023/12/11
2840
JavaScript对象、函数(你不知道的JavaScript)
writable:可写(修改) enumerable:可枚举(for ... in) configurable:可配置(配置、删除) 注意:delete只能删除对象(可删除)属性,即configurable为true的属性。
奋飛
2019/08/15
5410
20道精选的面试题附答案,进来看看能答对多少(一)
以下面试目,本人验证无误,查阅了相关资料,得出解析部分并做了相关总结,希望对正准备跳槽或找工作的你有所帮助!
前端达人
2021/06/16
4810
07JavaScript引用类型
Date提供now()方法,可以得到一个从 1970 年1月1日 00:00:00 至当前系统时间的毫秒数值。
Dreamy.TZK
2020/04/10
8800
07JavaScript引用类型
javascript 中Object一些操作方法
方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。
chuchur
2022/10/25
6980
JavaScript数据结构01 - 数组
PS:原始值是指固定而简单的值,存放在栈中的简单数据段,它们的值直接存储在变量访问的位置。
leocoder
2018/10/31
1.2K0
JavaScript常见手写题熬夜整理
题目描述:有一组版本号如下 ['0.1.1', '2.3.3', '0.302.1', '4.2', '4.3.5', '4.3.4.5']。现在需要对其进行排序,排序的结果为 ['4.3.5','4.3.4.5','2.3.3','0.302.1','0.1.1']
helloworld1024
2022/09/22
9070
JavaScript array对象
concat()可以基于当前数组中的所有项创建一个新数组。即这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。
用户6973020
2020/03/01
1.4K0
Airbnb JavaScript 风格指南(一)
Types 1.1 基本类型: 你可以直接获取到基本类型的值 const foo = 1; let bar = foo; bar = 9; console.log(foo, bar); // => 1, 9 Symbols 不能被正确的polyfill。 所以在不能原生支持symbol类型的环境[浏览器]中,不应该使用 symbol 类型。 string number boolean null undefined symbol 1.2 复杂类型: 复杂类型赋值是获取到他的引用的值。 相当于传引用 co
ConardLi
2019/05/23
1.1K0
原生JS灵魂之问,看看你是否熟悉JavaScript?
笔者最近在对原生JS的知识做系统梳理,因为我觉得JS作为前端工程师的根本技术,学再多遍都不为过。打算来做一个系列,一共分三次发,以一系列的问题为驱动,当然也会有追问和扩展,内容系统且完整,对初中级选手会有很好的提升,高级选手也会得到复习和巩固。这是本系列的第二篇。
ConardLi
2019/11/12
1.4K0
原生JS灵魂之问,看看你是否熟悉JavaScript?
JS葵花宝典秘籍笔记,为你保驾护航金三银四
种草一句话:越努力,越幸运!以现在大多数人的努力程度之低,根本轮不到可以拼天赋。 分享一下前端面试秘籍,希望能够帮助更多的小伙伴。加我?即可交流问题(不是大佬,互相学习,创造良好的学习环境)。以下
达达前端
2021/04/20
2K0
JS葵花宝典秘籍笔记,为你保驾护航金三银四
JavaScript
    1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。
changxin7
2022/05/06
1.4K0
JavaScript
相关推荐
你根本不懂Javascript(EP4 this关键字和对象原型)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档