博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 中基本数据类型和引用数据类型 ,,,, js中对象和函数的关系
阅读量:5291 次
发布时间:2019-06-14

本文共 1192 字,大约阅读时间需要 3 分钟。

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

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

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

 

转载于:https://www.cnblogs.com/lieaiwen/p/10216304.html

你可能感兴趣的文章
闭包理解
查看>>
asp.net C#后台实现下载文件的几种方法(全)
查看>>
Web前端开发工程师的具备条件
查看>>
为什么要用日志框架 Logback 基本使用
查看>>
实用Android开发工具和资源精选
查看>>
TileMap
查看>>
JS属性大全
查看>>
java复制文件
查看>>
第一册:lesson seventy nine.
查看>>
GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
查看>>
团队作业
查看>>
数据持久化时的小bug
查看>>
mysql中key 、primary key 、unique key 与index区别
查看>>
bzoj2257
查看>>
Linux查看文件编码格式及文件编码转换<转>
查看>>
Leetcode: Find Leaves of Binary Tree
查看>>
Vue 模板解释
查看>>
http://www.bootcss.com/
查看>>
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
将多张图片和文字合成一张图片
查看>>