JavaScript基础语法之数据类型

这里写图片描述

一、什么是数据?

  1. 万物皆数据,编程就是操作数据
  2. 在内存中可读的, 可传递的并且保存了特定的信息
  3. 在内存中的所有操作都是和数据打交道

二、值

1、值

计算机程序的运行需要对值进行操作,在javascript中值被分成了两大类:基本数据类型和引用数据类型.取得并使用值是所有程序设计中的要点。

2、字面量

形如 1 2 3 4 5等直接使用的值 我们称之为字面量

三、变量

关于变量,可参考go语言使用-基础语法(2)之变量。语言都是相通的,希望有助你理解。

1、什么是变量?

  1. 变量即可变之量,变量对应的数据状态会在特定的情景发生改变
  2. 在程序运行过程中它的值是允许改变的量
  3. 一个变量对应一块小内存, 它的值保存在此内存中

2、变量

当程序需要将值保存起来以备将来使用时,便将其赋值给一个变量。变量是一个值的符号名称。可以通过名称来获得对值的引用。

在几乎所有的编程语言中,我们都会使用变量来作为值的符号名。变量的名字又叫做标识符,其需要遵守一定的规则。ECMAScript的变量是松散型的(即可以用来保存任何类型的值)。通俗一点的说,每个变量仅仅是一个用于保存值的占位符而已。
注意!!在javascript中变量是没有类型的,只有值才持有类型。!!也就是说javascript不做类型强制;语言引擎不要求变量总是持有与其初始值同类型的值。一个变量可以现在被赋值为字符串类型值,随后又被赋值为数字类型值。这是javascript作为动态语言的一个优势

3、标识符

  1. 一个 JavaScript 标识符必须以字母、下划线(_)或者美元符号($)开头
  2. 不能以数字开头
  3. 不能使用关键字,保留字
    这里写图片描述
    这里写图片描述
  4. 标识符一般都采用驼峰命名法
    首字母小写,每个单词的开头字母大写,其余字母小写

代码示例:

<script type="text/javascript">

            /*
             * 标识符
             *  - 在JS中所有的可以由我们自主命名的都可以称为是标识符
             *  - 例如:变量名、函数名、属性名都属于标识符
             *  - 命名一个标识符时需要遵守如下的规则:
             *      1.标识符中可以含有字母、数字、_、$
             *      2.标识符不能以数字开头
             *      3.标识符不能是ES中的关键字或保留字
             *      4.标识符一般都采用驼峰命名法
             *          - 首字母小写,每个单词的开头字母大写,其余字母小写
             *          helloWorld xxxYyyZzz
             * 
             */
            /*var if = 123;

            console.log(if);*/


            //千万不要这么用
            var 锄禾日当午 = 789;
            console.log(锄禾日当午);


        </script>

4、声明变量

  1. 使用关键词 var。例如 var x = 42
    用 var 关键字声明的变量,如果没有赋初始值,则其值为 undefined
  2. 字面量形式(语法糖)
    直接使用 x=42;
    省略var声明的变量是全局变量。不推荐使用这种方式声明变量
  3. ECMAScript的变量是松散型的,即可以用来保存任何类型的值
  4. 我们也可以一次声明多个变量
var a=1,b=2,c,d=4;

代码示例:

<script type="text/javascript">
        //字面量
        console.log(1);

        //变量
        var a =1;
        a = a+1;
        console.log(a);

        //语义
        var age = 30;
        var age =31;
        console.log(age);
    </script>

四、数据类型

1、数据类型

数据类型是值的内部特征,它定义了值的行为,以使其区别于其他的值,JavaScript 中的变量本身是没有类型,变量持有的是所对应的值的数据类型。

2、数据类型分类

JavaScript语言可以识别下面 7 种不同类型的值:
六种基本数据类型:

boolean.  布尔值,truefalse.
null. 一个表明 null 值的特殊关键字。 
undefined.  变量未定义时的属性。
Number.  表示数字,例如: 42 或者 3.14159String.  表示字符串,例如:"Howdy"
Symbol ( 在 ECMAScript 6 中新添加的类型).。

还有引用数据类型(对象)

    数组
    函数
    Object

五、内存

关于内存的详解,可以参考go语言使用-基础语法(5)之值类型和引用类型中内存中堆区和栈区的简单示意图 。语言都是相通的,希望有助你理解。

1、什么是内存?

电脑内存条如下图:
这里写图片描述
电脑硬盘:
这里写图片描述

1).内存条通电后产生的存储空间(临时的)
2).产生和死亡: 内存条(集成电路板)==>通电==>产生一定容量的存储空间==>存储各种数据==>断电==>内存全部消失
3).内存的空间是临时的, 而硬盘的空间是持久的

2、内存中数据

一块内存包含2个数据。
内部存储的数据(一般数据/地址数据)
内存地址值数据

六、数据存储位置

1、JS中的变量都是保存到栈内存中的,
2、基本数据类型的值直接在栈内存中存储,值与值之间是独立存在,修改一个变量不会影响其他的变量
3、对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当一个通过一个变量修改属性时,另一个也会受到影响

七、栈和堆:

内存一般分为栈和堆。
栈:储存基本数据类型和地址值。在JS中,存储全局变量, 局部变量 (变量占用空间较小)
堆:储存引用数据类型。在JS中,存储对象 (占用空间较大)
注意:
在JS中 ==运算符比较的是栈内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值