JS基本数据类型和复杂类型的区别
来源:互联网 发布:java实现des加密解密 编辑:程序博客网 时间:2024/05/21 09:33
1.在内存中的存储方式
基本数据类型把数据名和值直接存储在栈当中
复杂数据类型在栈中存储数据名和一个堆的地址,在堆中存储属性及值。访问时先从栈获取地址,再到堆中拿出相应的值。
2.不同数据类型作为参数时 函数内部对参数的修改是否改变外部变量的值
(1)基本数据类型作为参数时,函数内部对参数值的修改不会改变外部变量的值
function a(s){//定义以s为参数的函数,返回s的值
s=100;
return s;
}
var y=1;
a(y);//y作为参数调用函数a
console.log(y);//y还是为1
结果还是1因为把y的值给s时是简单的复制了一份,y和s可以单独操作不相互影响
(2)复杂数据类型作为参数时,函数内部对参数值的修改会改变外部变量的值
因为复杂数据类型赋值是把栈中对象的地址赋给变量,函数内外两个变量指向同一个对象,所以只要对象的属性值改变,两个变量值都会改变
function student(age,name,agrde){
this.age=age;
this.name=name;
this.score=agrde;
}
var s1=new student(18,"wjq",2);//创建一个student对象
function a(s){
s.name="xxx";
}
a(s1)//把s1赋给s
console.log(s1.name);//输出xxx
所以要弄懂js中简单数据类型和复杂数据类型的区别,关键还要搞懂两个在内存中的存储过程。
1 0
- JS基本数据类型和复杂类型的区别
- js 基本数据类型 和复杂数据类型的区别
- JS基本数据类型和引用数据类型的区别
- Hive的复杂数据类型和时间类型
- js的null和undefined的区别-js基本数据类型
- JS基本类型和引用类型的区别
- JS基本类型和引用类型赋值的区别
- JS变量基本类型和引用类型的区别
- js中基本类型和引用类型的区别
- js中的数据类型,基本数据类型和引⽤数据类型的区别
- 基本数据类型和引用数据类型的区别:
- 【基本数据类型】和【引用数据类型】的区别
- 基本数据类型和引用数据类型的区别!
- 基本数据类型和引用数据类型的区别
- javascript 数据类型(基本类型和引用类型的定义和区别)
- 深入解析js中基本数据类型与引用类型,函数参数传递的区别
- 深入解析js中基本数据类型与引用类型,函数参数传递的区别
- JAVA的基本数据类型和类型转换
- 数据结构与算法分析之散列概念总结
- caffe安装 cuda安装 opencv安装 cudnn安装 python相关依赖库安装
- Oracle笔记5
- 堆和搜索树
- Wordpress如何正确书写Robots.txt
- JS基本数据类型和复杂类型的区别
- (8.1.5.1)Android Testing Support Library翻译之Espresso 概览
- 遇到的前端兼容性问题
- CSS 让背景图片全部显示,填满父div
- 多线程使用场景
- 简单方法解决八皇后问题
- 关于java RMI框架(远程方法调用)的简单介绍
- 134.ListView中下面添加layout_weight按钮渲染的方法
- CentOS 下使用安装 python 包管理工具 pip