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","你的宝宝"}
};

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

相关推荐
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
伞伞悦读4 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
C语言小火车4 天前
C/C++ 为什么需要编译器?
开发语言·c++
李少兄4 天前
JavaScript 隐式全局变量解析
javascript
霍霍的袁4 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超4 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int4 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
沙蒿同学4 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端