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

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

相关推荐
栈帧之外40 分钟前
【C++】STL之set
开发语言·c++
catchadmin1 小时前
免费可商用 PHP 管理后台 CatchAdmin V5.4.1 发布,新增 MCP 支持
开发语言·php
jimy13 小时前
c++的 Type Traits (二、更详细版本)
开发语言·c++
狗凯之家源码网3 小时前
纯 PHP+MySQL 应用市场系统源码实测!
开发语言·mysql·php
dishugj3 小时前
系统架构风险点、敏感点和权衡点的概念和区分
java·开发语言
geovindu3 小时前
rust:Memento Pattern(续)
开发语言·后端·设计模式·rust·行为模式·备忘录模
马优晨4 小时前
JAVA 中 VO 实体类是什么意思,为什么要做这个
java·开发语言·状态模式·java vo·java vo是什么
Aurorar0rua4 小时前
CS50 x 2024 Notes Python - 01
开发语言·python·学习方法
SensorFlow4 小时前
曝光埋点别放在组件渲染里:连续可见与去重范围怎么验收
javascript
harris14815435297584 小时前
能解码不等于能信任:JWT 的签名到底验的是什么
javascript