ECMAScript 基础--原始值和引用值
在 ECMAScript 中,变量可以存在两种类型的值,即原始值和引用值。
原始值
存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。
引用值
存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处。
为变量赋值时,ECMAScript 的解释程序必须判断该值是原始类型,还是引用类型
解释程序则需尝试判断该值是否为 ECMAScript 的原始类型之一,即 Undefined、Null、Boolean、Number 和 String 型。由于这些原始类型占据的空间是固定的,所以可将他们存储在较小的内存区域 - 栈中。这样存储便于迅速查寻变量的值。
在许多语言中,字符串都被看作引用类型,而非原始类型,因为字符串的长度是可变的。ECMAScript 打破了这一传统。
ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Boolean、Number 和 String
ECMAScript 提供了 typeof 运算符来判断一个值是否在某种类型的范围内。
可以用这种运算符判断一个值是否表示一种原始类型:如果它是原始类型,还可以判断它表示哪种原始类型。
转载于:https://www.cnblogs.com/xiaozhanga4/archive/2012/05/01/2477815.html
ECMAScript 基础--原始值和引用值相关推荐
- 012_原始值和引用值
1. 在JavaScript中, 变量可以存在两种类型的值, 即原始值和引用值. 2. 原始值 2.1. 存储在栈(stack)中的简单数据段, 也就是说, 它们的值直接存储在变量访问的位置. 2.2 ...
- 【JS】原始值与引用值、执行上下文与作用域链、作用域链增强、变量声明、标识符查找
1.原始值与引用值 EcmaScript变量可以包含两种不同类型的数据:原始值.引用值 原始值:最简单的数据 引用值:由多个值构成的对象 六种原始值: Undefined Null Boolean N ...
- 原始值和引用值类型及区别
javascript中原始值和引用值类型及区别 首先原始值和引用值类型都是我们JS中的数据类型,为了充分利用存储空间,定义了不同的数据类型,而且我们JS是弱类型,动态语言,数据类型可变. 原始值(简单 ...
- JavaScript检测原始值、引用值、属性
上周写过一篇读书笔记<编写可维护的JavaScript>之编程实践,其中 第8章 避免『空比较』是博主在工作中遇坑较多的雷区,所以特此把该章节重新整理分享,希望大家不再坑队友(>﹏& ...
- ECMAScript 基础--原始类型
ECMAScript 有 5 种原始类型(primitive type),即 Undefined.Null.Boolean.Number 和 String. typeof 运算符 对变量或值调用 ty ...
- JS中的原始数据类型(基础数据类型)和 引用数据类型
文章目录 一.js的数据类型划分方式为 原始数据类型(基础数据类型)和 引用数据类型 二.两种类型的区别 1.存储位置不同 2.传值方式不同 3.两种数据类型在实参和形参中的区别 一.js的数据类型划 ...
- 《JavaScript高级程序设计》阅读笔记(一):ECMAScript基础
2.1 语法 区分大小写.变量弱类型.行尾分号可有可无.注释为双斜线.括号表明代码块 2.2 变量 变量用var声明,变量的命名规则:第一个字符必须是字母.下划线或美元符号:余下的字符可以是下划线.美 ...
- JavaScript的数据类型、null 和undefined、原始数据类型和引用数据类型等JavaScript基础知识总结
一.JavaScript里有哪些数据类型,解释清楚null 和undefined,解释清楚原始数据类型和引用数据类型.比如讲一下1 和Number(1)的区别 数据类型: undefined,没有定义 ...
- js值的拷贝和值的引用_到达P值的底部:直观的解释
js值的拷贝和值的引用 介绍 (Introduction) Welcome to this lesson on calculating p-values. 欢迎参加有关计算p值的课程. Before ...
- C++面试 左值、右值、左值引用、右值引用
1.左值和右值 左值(left-values),缩写:lvalues ,located value 可定位值,其含义是可以明确其存放地址的值,更确切说对其的使用是基于地址 右值(right-valu ...
最新文章
- 什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?
- 做技术的,年龄大了你慌吗?
- python csv库,Python 中导入csv数据的三种方法
- JavaScript正则表达式笔记
- 设计模式--原型(Prototype)模式
- keras的学习笔记
- LeetCode 1213. 三个有序数组的交集(哈希set)
- beast php,windows php-beast 安装
- 如何关闭子线程?征集析构函数与多线程的讨论!
- 为什么说苹果是唯一在乎你隐私的科技公司?
- 路西法第一季为什么会被打伤_海贼王:路飞新招式‘红岩枪’,这次把凯多打伤了,大妈震惊...
- 数据库——添加外键约束
- 虚拟人的手工前世和AI今生
- Nessus下载失败问题解决
- python找到长度最长的单词长度,python中的正则表达式:查找长度为n或更长的单词...
- 服务器上pdf文档无法删除,怎么对PDF文件进行编辑,PDF怎么删除空白页
- 数字图像处理成长之路17:linux下训练样本并识别车牌实验
- FillRect and GradientFill
- 服务器一直即将注销你的登录,Win10提醒即将注销你的登录怎么办?
- 已解决:前、后端打包部署至服务器后,背景图片不显示并且一些图标都变成了方块