• js 中基本数据类型和引用数据类型 ,,,, js中对象和函数的关系


    js的数据类型

    number,string,null,undefined,boolean,object,array

    js的基本数据类型(5种)

    nuber,null,undefined,boolean,string

    js的引用数据类型()

    object,array,function,data

    定义:

    基本数据类型:指的是简单的数据段,引用数据类型指的是有多个值构成的对象

    当我们吧变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值,还是引用类型值。

    js 的引用数据类型是保存在堆内存中的对象。

    与其他语言的不同是,你不可以访问堆内存空间中的位置和操作堆内存空间,只能操作对象在

    栈内存中的引用地址。所以,引用类型数据在站内从中保存的实际上是对象在堆内存中的引用地址,

    通过这个引用地址可以快速查找到保存中堆内存中的对象

    let obj1 = new Object();

    let obj2 = obj1;

    obj2.name = "11111"

    console.log(obj1.name)//11111

    说明这两个引用数据类型指向同一个堆内存对象,obj1赋值给obj2,实际上这个堆内存对象在栈内存

    的引用地址复制了一份给obj2,但是实际上他们共同指向同一个堆内存对象,实际上改变的是堆内存对象。

    js中对象和函数的关系

    首先,什么是对象?

    js中所有事物都是对象,对象是拥有属性和方法的数据,由此可见基本数据类型不是对象,剩下的

    引用数据类型都是对象,(注意null也是引用数据类型),也就有人说对象是若干属性的集合。

    1.0 函数是一种对象

    function test(){}  console.log(test instanceof Object);//true,

    所以很明显函数是一种对象,但你不能说是对象的一种,这不存在包含关系

    2.0 对象都是通过函数创建的

      demo

    function test(){} let a = new test() console.log(test2 instance Object);//true

    这个例子说明对象可以被函数创建,那为什么要说对象都是通过函数创建的,那对象字面量是不是也是通过函数创建的,答案是肯定得,这是一种语法糖,demo

      let a = {name:'123'}

      let obj = new Object()

      obj.name = "123"

    上面的对象字面量其实是通过下面的构造函数来创建的,其中的Object是一种函数

    console.log(typeof Object)//function

    通过上面的简单例子我们可以得出一个结论

    对象是通过函数创建的,而函数又是一种对象。

  • 相关阅读:
    solr 的全量更新与增量更新
    solr 服务器的搭建
    Mysql 问题
    App 微信支付
    App 支付宝支付
    Linux 常见命令
    [备注] 钉钉使用教程
    PARAMETER和ARGUMENT的区别
    无界面浏览器
    URLs ...
  • 原文地址:https://www.cnblogs.com/lieaiwen/p/10216304.html
Copyright © 2020-2023  润新知