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

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

相关推荐
特种加菲猫33 分钟前
继承,一场跨越时空的对话
开发语言·c++
FYKJ_20101 小时前
springboot校园兼职平台--附源码02041
java·javascript·spring boot·python·eclipse·django·php
玩转单片机与嵌入式2 小时前
玩转边缘AI(TInyML):需要掌握的C++知识汇总!
开发语言·c++·人工智能
茉莉玫瑰花茶2 小时前
Qt 信号与槽 [ 1 ]
开发语言·数据库·qt
AI人工智能+电脑小能手3 小时前
【大白话说Java面试题】【Java基础篇】第30题:JDK动态代理和CGLIB动态代理有什么区别
java·开发语言·后端·面试·代理模式
张健11564096483 小时前
临界区和同一线程上锁
java·开发语言·jvm
头发够用的程序员4 小时前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
夜猫逐梦4 小时前
【逆向经验】一篇文章讲透为什么CE搜不到Python游戏的内存值
开发语言·python·游戏
SilentSamsara4 小时前
闭包的本质:Python 如何捕获自由变量
开发语言·python·青少年编程·pycharm