JavaScript:值类型 引用类型

 JavaScript类型

(1)值类型:数值、布尔值、null、undefined。

(2)引用类型:对象、数组、函数。
 1.string

 var str="hongda";
       var str2=str;
       str2="hongdaqi";
       console.log(str);
        console.log(str2);

2.Object

String/Number这种的类的对象,它没有其他的属性(string有length,但不能修改),一般都是直接赋值的,但它本身是个object,可以添加属性来查看是否是引用类型。

var str=new String("hongda");
var str2=str;
str.name="omg";
console.dir(str);
console.dir(str2);

修改对象:

var person={name:"hongda",age:27};
var man=person;
man.name="hongdada";
console.dir(man);
console.dir(person);

重新赋值一个新的对象:

var person={name:"hongda",age:27};
var man=person;
man={name:"hongdada",age:28};
console.dir(man);
console.dir(person);

 3.Array

var arr=[0,1,2,3];
var arr2=arr;
arr[0]="hongda";
console.dir(arr);
console.log("");
console.dir(arr2);

一个小题目:

var a=[0],b=a; 
b[0]=2;
console.log(a+b); //22

a=[0], b=a, b=[1];
console.log(a+b); //01

第2个其实数组相加实际上会调用数组的toString方法,然后拼接字符串。

var arr=[0,1,2,3];
var arr2=arr;
var str=arr+arr2;
console.log(typeof str);
console.log(str);

 

posted @   hongdada  阅读(216)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示