JavaScript变量包含两种类型的值:基本类型值和引用类型值。

目录

  • 一.基本类型值:
    • 1.Boolean:
    • 2.Null:
    • 3.undefined:
    • 4.Number:
    • 5.String:
    • 6.Symbol (ES6):
  • 二.引用类型值:
    • 1.Object
    • 2.Array
    • 3.function

一.基本类型值:

概念:

  1. 基本类型值指的是保存在栈内存中的简单数据段;
  2. 基本类型值按值访问,操作的是他们实际保存的值;
  3. 基本类型值从一个变量向一个变量复制时,会在栈中创建一个新值,然后把值复制到为新变量分配的位置上,改变源数据不会影响到新的变量(互不干涉);

1.Boolean:

概念:
布尔表示一个逻辑实体,可以有两个值:truefalse;

2.Null:

概念:

Null类型只有一个值:null是一个JavaScript字面量表示空值(null or an “empty” value),即>没有对象被呈现(no object value is present).它是JavaScript原始值之一。

3.undefined:

概念:

  1. 在JavaScript中,undefined这个词有多重含义.首字母大写的Undefined表示的是一种数据类型;
  2. 小写的undefined表示的是属于这种数据类型的唯一的一个值;
  3. 但这两种undefined都只能存在于文档或规范中,不能存在于JavaScript代码中;
  4. 在JavaScript代码中,你看到的undefined最有可能是全局对象的一个属性;
  5. 该属性的初始值是就是前面所说的原始值undefined,还有种情况就是,这个undefined是个局部变量,就像其他普通变量一样,没有任何特殊性,它的值不一定是undefined,但通常情况下都是的,都指的是window.undefined这个属性.
  6. 一个未初始化的变量的值为undefined;
  7. 一个没有传入实参的形参变量的值为undefined;
  8. 如果一个函数什么都不返回,则该函数默认返回undefined;

4.Number:

概念:

并不像C#等其他语言中,有float、int…,在JavaScript中为number类型;

5.String:

概念:

JavaScript的字符串类型用于表示文本数据;

6.Symbol (ES6):

概念:
符号(Symbol) 能够实现针对对象状态的访问控制,允许使用string(与ES5相同)或symbol作为键来访问属性。符号是一个新的原语类型,可选的name参数可以用于调试——但并不是符号身份的一部分。符号是独一无二的(如同gensym(所产生的符号)),但不是私有的,因为它们可以通过类似Object.getOwnPropertySymbols的反射特性暴露出来。

1、符号类型是唯一的并且是不可修改的, 并且也可以用来作为Object的key的值.
2、符号是一种特殊的、不可变的数据类型,可以作为对象属性的标识符使用。
3、符号对象是一个符号 原始数据类型的隐式对象包装器。

二.引用类型值:

概念:

  1. 引用类型值指的是那些保存在堆内存中的对象,意思是,变量中保存的实际上只是一个指针,这个指针指向内存堆中实际的值;
  2. 引用类型值按引用访问,当查询时,我们需要先从栈中读取内存地址,然后再顺藤摸瓜地找到保存在堆内存中的值;
  3. 引用类型值复制的是存储在栈中的指针,将指针复制到栈中未新变量分配的空间中,而这个指针副本和原指针执行存储在堆中的同一个对象,复制操作结束后,两个变量实际上将引用同一个对象;因此改变其中的一个,将影响另一个;

1.Object

概念:
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数…

此外,JavaScript 允许自定义对象。

  1. JavaScript 对象是拥有属性和方法的数据。
  2. 对象也是一个变量,但对象可以包含多个值(多个变量),每个值以 name:value 对呈现。
var person = {age: 17,name: '李四',address: "China"
};
console.log(typeof (person))


2.Array

概念:
数组对象是使用单独的变量名来存储一系列的值。

var cars = ["Saab", "Volvo", "BMW"];

3.function

概念:

  1. JavaScript 使用关键字 function 定义函数。
  2. 函数可以通过声明定义,也可以是一个表达式。
  3. 分号是用来分隔可执行JavaScript语句。
  4. 由于函数声明不是一个可执行语句,所以不以分号结束。
var person = {age: 17,name: '李四',address: "China"
};function getPerson(person) {console.log(person.name);
}getPerson(person);

JavaScript基础知识-JS数据类型相关推荐

  1. javascript 基础知识1 数据类型

    首先javascript是一种具有面向对象能力的,解释型程序设计语言. js对大小写敏感,一定要采取一致的字符大小写形式,在js中的结束分号(:)是可选的,为了避免JS语句错误,我们还是要注意添加,养 ...

  2. Javascript 基础知识之数据类型

    2019独角兽企业重金招聘Python工程师标准>>> javascript是一种弱类型的脚本语言 1)var  param :(根据所赋值的类型确定变量类型,变量类型可以随意改变) ...

  3. JS学习笔记二——JavaScript 基础知识

    JavaScript 基础知识 一.JavaScript 变量 二.JavaScript 的输出 三.JavaScript 运算符 四.结语 一.JavaScript 变量 变量是指在程序运行过程中, ...

  4. js java用var_Java基础———JavaScript基础知识

    原标题:Java基础---JavaScript基础知识 JavaScript基础知识(1) Javascript的历史,Javascript是什么? JavaScript 诞生于 1995 年. 它当 ...

  5. js打印,基础知识,数据类型

    打印,基础知识,数据类型 <!DOCTYPE html> <html><head><meta charset="utf-8" />& ...

  6. javaweb(02) JavaScript基础知识

    javaweb(02): JavaScript基础知识 JavaScript简介 为什么出现JavaScript Javascript是什么 JavaScript和Java的关系? 就像卡巴斯基和巴基 ...

  7. JavaScript基础知识与脚本语言总结

    1 Aptana插件安装 1.Aptana插件安装 <1>Aptana是一个非常强大,开源,JavaScript-focused的AJAX开发IDE. <2>它的特点包括: J ...

  8. JavaScript 基础知识 - 入门篇(二)

    11. 函数 11.1 函数的基础知识 为什么会有函数? 在写代码的时候,有一些常用的代码需要书写很多次,如果直接复制粘贴的话,会造成大量的代码冗余: 函数可以封装一段重复的javascript代码, ...

  9. JavaScript 基础知识

    JavaScript 基础知识 文章目录 JavaScript 基础知识 @[toc] 一.JS的基本语法与结构 1.1 JavaScript 用法 1.2 JavaScript 输出 1.3 Jav ...

  10. 网页游戏开发基础——JavaScript基础知识

    对于初学编程的朋友来说,这篇文章有点长,而且会有点难懂.但是请不要放弃,我尽量以通俗的语言解释相关的编程概念,这里只讲解编写一个游戏需要的相关编程概念(如需要会在后面的文章中随时补充相关概念),对其余 ...

最新文章

  1. 全国计算机等级考试一级ps考试试题,计算机等级考试一级ps考前试题及答案
  2. HTML5小游戏《智力大拼图》发布,挑战你的思维风暴
  3. Winform中实现读取xml配置文件并动态配置DevExpress的RadioGroup的选项
  4. python字典高级用法_Python 字典的高级用法
  5. oracle表与表之间更新,Oracle 两个表之间更新的实现
  6. 首届FineReport平台主题设计大赛火热启动
  7. Red5开发第一步-Hello World
  8. jenkins修改pom文件_jenkins参数化配置,pom.xml配置
  9. linux系统上安装远程软件下载,如何安装向日葵远程控制软件Linux被控端?
  10. C++中常用的库函数 (自用)
  11. 深度 linux 打印机,阻挡Deepin成为主力系统的障碍就是对打印机的支持
  12. 宝塔面板 - 通过宝塔面板安装的mysql 默认密码是什么
  13. stack Error: EACCES: permission denied
  14. Windows内网渗透之信息收集
  15. 高动态范围图像(HDR)处理
  16. vue2源码解读笔记(一)
  17. 75、如何判断接入的是百兆还是千兆网络?
  18. Arduino 常用函数参考文档
  19. 自动化立体仓库的详解
  20. 华为和“字节”,终于干起来了!

热门文章

  1. 一个多道批处理系统中仅有 P1 和 P2 两个作业
  2. python随机生成字符串_python 怎样随机生成中文字符?
  3. 韩立刚Linux基础入门,Linux入门基础笔记1(韩立刚课程)(示例代码)
  4. 药店app的布局html,APP首页常用排版
  5. 3D建模软件的选择(UG,Solidworks,ProE)
  6. 软件设计与体系结构:设计过程
  7. 【Linux】Debian 连接惠普打印机并共享
  8. 机器学习-随机森林算法
  9. 功率谱学习及matlab代码
  10. 基于ThinkPHP5框架知识付费系统网站源码含PC+移动+小程序