JavaScript系列从入门到精通系列第十三篇:JavaScript中基本数据类型和引用数据类型,创建对象的两种方式

一:基本数据类型与引用数据类型

基本数据类型:String Number Boolean Null Undefined

引用数据类型:Object

我们的内存分成了两大块,一是栈内存二是堆内存。变量都是保存到栈内存中,var a = 123;

a和123都在栈空间,var a = new Object();a在栈空间和Object在堆空间,引用数据类型中如果多个变量引用一个对象,对象属性改变之后,所有的变量中的值都改变。

new用于创建对象,表示会在内存中开辟新的区域。每创建一个对象都会在堆空间中开辟一个空间。对应的空间地址类似于0x1234这样的数据。

二:对象创建方式

1:经典创建对象方式

javascript 复制代码
var obj = new Object();

这样写有问题,比较复杂。

2:字面量创建对象

javascript 复制代码
var obj = {};

这样与上述表示方式是一模一样,更加省事而已。使用这种方式,我们甚至可以直接添加属性。

javascript 复制代码
var obj2 = {name:"猪八戒",age:28};

为了表示更清楚,我们经常这么写。

javascript 复制代码
var obj2 = {

    name:"猪八戒",
    age:28,
    gender:"男"
};

对象字面量的属性名可以加引号或者不加引号都行。但是如果使用特殊名字,必须加引号。属性名和属性值之间。

javascript 复制代码
var obj2 = {

    name:"猪八戒",
    age:28,
    gender:"男",
    "@#$%%%%":"悟空",
    test:{"name","你的宝宝"}
};

这种方式用的多一点,但是我们实际开发过程中两个要都会用。

相关推荐
风逸hhh28 分钟前
python打卡day25@浙大疏锦行
开发语言·python
刚入门的大一新生33 分钟前
C++初阶-string类的模拟实现与改进
开发语言·c++
chxii2 小时前
5java集合框架
java·开发语言
老衲有点帅2 小时前
C#多线程Thread
开发语言·c#
C++ 老炮儿的技术栈2 小时前
什么是函数重载?为什么 C 不支持函数重载,而 C++能支持函数重载?
c语言·开发语言·c++·qt·算法
IsPrisoner3 小时前
Go语言安装proto并且使用gRPC服务(2025最新WINDOWS系统)
开发语言·后端·golang
&白帝&3 小时前
vue右键显示菜单
前端·javascript·vue.js
Wannaer3 小时前
从 Vue3 回望 Vue2:事件总线的前世今生
前端·javascript·vue.js
Python私教3 小时前
征服Rust:从零到独立开发的实战进阶
服务器·开发语言·rust