当前位置: 首页 > news >正文

JS高级——数据类型

数据类型

基本类型

  1. String: 任意字符串
  2. Number: 任意的数字
  3. boolean: true/false
  4. undefined: undefined
  5. null: null

对象类型

  1. Object: 任意对象
  2. Function 一种特别的对象(可以执行)
  3. Array: 一种特别的对象

判断

  1. typeof //不能区分数组与对象、null与object
  2. instanceof //可以区分对象与数组
  3. ===
		// 1、typeof 返回数据类型的字符串表达var a;console.log(typeof a==='undefined',typeof a === undefined)  //true ,false// 2、对象var b1={b2:[1,'abc',console.log],b3: function(){console.log('b3')}}console.log(b1 instanceof Object, b1 instanceof Array)  // true falseconsole.log(b1.b2 instanceof Array,b1.b2 instanceof Object) // true true

问题 var a = xxx , a内存中保存的到底是什么

1、xxx 是基本数据,保存的就是这个数据
2、xxx 是对象, 保存的是对象的地址值
3、 xxx 是一个变量, 保存的xxx的内存内容(可能是基本数据,也可能是地址)

			//  obj1 obj2 指向同一个对象  var obj1 = {name: 'Tom'}var obj2 = obj1 obj2.age =12 console.log(obj1.age,obj1.name) //12function fn(obj){obj.name = 'A'}fn(obj1)console.log(obj2.name) //Avar a = {age: 12}var b = aa = {name: 'BOB', age:13}b.age=14console.log(b.age,a.name,a.age) // 14 BOB 13function fn2(obj){obj = {age: 15} //obj 指向了一个新的对象,并未改变原来对象的值}fn2(a)console.log(a.age)  // 13

问题 js调用函数是传递变量参数时,是值传递还是引用传递

理解1: 都是值(基本/地址值)传递
理解2:可能是值传递,也可能是引用传递(地址值)

var a = 3;function fn(a){a = a+1}fn(a);console.log(a)  //3

问题 JS引擎如何管理内存

1、内存生命周期

  • 分配小内存空间,得到它的使用权
  • 存储数据,可以反复进行操作
  • 释放小内存空间

2、释放内存

  • 局部变量: 函数执行完自动释放
  • 对象: 成为垃圾对象 ==》 垃圾回收器回收
http://www.lryc.cn/news/9719.html

相关文章:

  • 场景案例│数字员工在银行业的典型应用场景,效率及准确率“双高”
  • 2023美国大学生数学建模竞赛选题建议
  • 整合K8s+SpringBoot+gRpc
  • ROS 教程:使用 Moveit C++ 接口进行拾取和放置任务
  • seo细分和切入点
  • PyQt5数据库开发1 4.3 QSqlTableModel 之 Qt项目的创建
  • 【大数据】第三章:详解HDFS(送尚硅谷笔记和源码)
  • 27岁想转行IT,还来得及吗?
  • Web前端CSS清除浮动的5种方法
  • Java:博客系统,实现加盐加密,分页,草稿箱,定时发布
  • JuiceFS 在火山引擎边缘计算的应用实践
  • 实验06 二叉树遍历及应用2022
  • 基于蜣螂算法改进的LSTM分类算法-附代码
  • 如何正确应用GNU GPLv3 和 LGPLv3 协议
  • Python局部函数及用法(包含nonlocal关键字)
  • 关于BMS的介绍及应用领域
  • 2月datawhale组队学习:大数据
  • 在Spring框架中创建Bean实例的几种方法
  • PyQt5 界面预览工具
  • day44【代码随想录】动态规划之零钱兑换II、组合总和 Ⅳ、零钱兑换
  • 计算机网络第1章(概述)学习笔记
  • GPT-3(Language Models are Few-shot Learners)简介
  • 容器安全风险and容器逃逸漏洞实践
  • 2023年美赛B题-重新想象马赛马拉
  • Docker常用命令总结
  • mac环境,安装NMP遇到的问题
  • Web Worker 与 SharedWorker 的介绍和使用
  • React:Redux和Flux
  • TypeScript 学习之Class
  • doris - 数仓 拉链表 按天全量打宽表性能优化