/*
ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值。
基本类型值指的是那些保存在栈内存中的简单数据段,即这种值完全保存在内存中的一个位置。
而引用类型值则是指那些保存在堆内存中的对象,意思是变量中保存的实际上是一个指针,这个指针指向内存中的另一个位置,该位置保存对象。
5中基本数据类型:Undefined、Null、Boolean、Number和String.
这5种基本数据类型的值在内存中占有固定大小的空间,因此可以把它们的值保存在栈内存中。
这样可以提高查询的速度。对于保存基本类型值的变量,我们说它们是按值访问的,因为我们操作的是它们实际保存的值。
如果赋给变量的是一个引用类型的值,则必须在堆内存中为这个值分配空间。由于这种值得大小不固定,因此不能把它们保存到占内存中。
但内存地址的大小是固定的,因此可以将内存地址保存在栈内存中。这样,当查询引用类型的变量时,就可以首先从栈中读取内存地址,然后再
“顺藤摸瓜”地找到保存在堆中的值。对于这种查询变量值的方式,我们把它叫做按引用访问,因此我们操作的不是实际的值,而是被那个值所引用的对象。
*/
- /*
- //<strong>4.1.1 动态属性</strong>
- //引用类型
- var person = new Object();
- person.name = "Nicholas";
- alert(person.name);//Nicholas
- //基本类型
- var name = "Nicholas";
- name.age=27;
- alert(name.age);//undefined
- //总结:对于引用类型的值,我们可以为其添加属性和方法,也可以改变和删除其属性和方法。
- //但是,我们不能给基本型类的值添加属性,尽管这样做不会导致任何错误。
- */
- /*
- //<strong>4.1.2 复制变量值</strong>
- var num1=5;
- var num2=num1;
- alert(num2);
- var obj1=new Object();
- var obj2 = obj1;
- obj1.name="Nicholas";
- alert(obj2.name);
- */
- <strong>//4.1.3 传递参数</strong>
- /*
- function addTen(num){
- num+=10;
- return num;
- }
- var count=20;
- var result=addTen(count);
- alert(count);//20
- alert(result);//30
- */
- /*
- function setName(obj){
- obj.name="Nicholas";
- }
- var person = new Object();
- setName(person);
- alert(person.name);//Nicholas
- */
- /*
- function setName(obj){
- obj.name="Nicholas";
- obj=new Object();
- obj.name="Greg";
- }
- var person = new Object();
- setName(person);
- alert(person.name);//Nicholas
- */
- <strong>//4.1.4 检测类型</strong>
- //基本类型用 typeof 检测
- var s = "Nicholas";
- var b = true;
- var i = 22;
- var u;
- var n =null;
- var o = new Object();
- alert(typeof s);//string
- alert(typeof b);//boolean
- alert(typeof i);//number
- alert(typeof u);//undefined
- alert(typeof n);//object
- alert(typeof o);//object
- //引用类型 result=variable instanceof constructor
- alert(person instanceof Object);
- alert(colors instanceof Array);
- alert(pattern instanceof RegExp);
相关推荐
ECMAScript变量包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值是简单的数据段,而引用类型值指那些可能由多个值构成的对象。 在将一个值赋给变量时,解析器必须确定这个值是基本类型还是引用类型。...
JavaScript中值类型和引用类型的区别 JavaScript中的值类型的值是不可变的: 任何方法都无法改变值类型的值。数字、布尔值、null和undefined等都属于不可变类型。比如,修改一个数值的内容,本身就说不通。虽然字符...
在JavaScript中四种基本的数据类型:数值(整数和实数)、字符串型(用“”号或‘’括起来的字符或数值)、布尔型(使True或False表示)和空值。在JavaScript的基本类型中的数据可以是常量,也可以变量。由于...
目录 1、Date2、RegExp3、原始包装类型 1、Date 2、RegExp 3、原始包装类型 前言: 引用值(对象)都是某个特定的引用类型的实例对象,例如 Date类型、Function类型,RegExp 正则表达式类型等等。JavaScript...
ECMAScript 中有 5 种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和 String。还有 1种复杂数据类型——Object,Object 本质上是由一组无序的名值对组成的。ECMAScript 不支持任何创建...
引用类型值:按引用访问,当查询时,我们需要先从栈中读取内存地址,然后再顺藤摸瓜地找到保存在堆内存中的值; 下面就分别介绍一下javascript的这两种数据类型。 一.基本数据类型: 在javascript中存在着六种基本...
基本类型和引用类型 JavaScript 中共有 6 种基本数据类型:Undefined、Null、Boolean、Number、String、Symbol (new in ES 6) ! 约定:基本数据类型与原始数据类型等意。 基本数据类型的值是按值访问的。
本文实例讲述了JavaScript引用类型Object常见用法。分享给大家供大家参考,具体如下: 1、JavaScript数据类型 (1)基本类型 5种基本类型:Undefined、Null、Boolean、Number、String (2)引用类型 5种引用类型:Object...
早在介绍JS的数据类型的时候就提到过基本类型和引用类型,不过在说两种类型之前,我们先来了解一下变量的值的类型。在ECMAScript中,变量可以存在两种类型的值,即原始值和引用值。 (1)原始值 存储在栈中的简单...
主要介绍了JavaScript 值类型和引用类型的初次研究,需要的朋友可以参考下
前两天看到kraaas大神的关于基本数据类型和引用类型的区别的文章觉得写得非常不错,就想着在其基础上加上自己平时看到的一些知识点和理解,所以就有了以下的文章 js基本数据类型包括:undefined,null,number,boolean...
1.基础类型 A. 基础类型有5种,Number,String,Boolean,Null,Undefined B. 基础类型没有堆的概念,堆只针对引用类型。 所有基础类型都是以key-value形式存放在栈中,...所有引用类型都是以key-value形式存放在栈中,
此时,id为zzk_q的值应该为 测试 ,即input框内应该显示 测试 。但结果。。 咦,为什么没有变呢,不对啊,又来来回回变着法子试一下,还是不行,当然代码基本还是那样子的。突然想起我以前遇见过这样子的...
本文实例讲述了JavaScript引用类型之基本包装类型。分享给大家供大家参考,具体如下: 为了操作基本类型值,ECDMAScript提供了3个特殊的引用类型——基本包装类型Boolean、Number和String。每当读取一个基本类型值时...
ECMAScript包含两个不同类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段;引用类型值指由多个值构成的对象。当我们把变量赋值给一个变量时,解析器首先要做的就是确认这个值是基本类型值还是引用...
引用类型(Reference type)引用类型是javascript中一种内部类型。它主要是当做一个指代,代替一个变量或者函数,当然在需要真实值时,又可以通过它寻找到真实值。 2.引用类型的结构引用类型的值时由两部分构成,一...
javascript的数据类型可以分为两种:原始类型和引用类型 原始类型也称为基本类型或简单类型,因为其占据空间固定,是简单的数据段,为了便于提升变量查询速度,将其存储在栈(stack)中(按值访问)。其中,...