`
a19905522
  • 浏览: 95256 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

javascript引用类型和值类型

    博客分类:
  • JS
 
阅读更多

/*
ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值。
基本类型值指的是那些保存在栈内存中的简单数据段,即这种值完全保存在内存中的一个位置。
而引用类型值则是指那些保存在堆内存中的对象,意思是变量中保存的实际上是一个指针,这个指针指向内存中的另一个位置,该位置保存对象。
5中基本数据类型:Undefined、Null、Boolean、Number和String.
这5种基本数据类型的值在内存中占有固定大小的空间,因此可以把它们的值保存在栈内存中。
这样可以提高查询的速度。对于保存基本类型值的变量,我们说它们是按值访问的,因为我们操作的是它们实际保存的值。
如果赋给变量的是一个引用类型的值,则必须在堆内存中为这个值分配空间。由于这种值得大小不固定,因此不能把它们保存到占内存中。
但内存地址的大小是固定的,因此可以将内存地址保存在栈内存中。这样,当查询引用类型的变量时,就可以首先从栈中读取内存地址,然后再
“顺藤摸瓜”地找到保存在堆中的值。对于这种查询变量值的方式,我们把它叫做按引用访问,因此我们操作的不是实际的值,而是被那个值所引用的对象。

*/

 

[javascript] view plaincopy
  1. /* 
  2. //<strong>4.1.1 动态属性</strong> 
  3. //引用类型 
  4. var person = new Object(); 
  5. person.name = "Nicholas"; 
  6. alert(person.name);//Nicholas 
  7. //基本类型 
  8. var name = "Nicholas"; 
  9. name.age=27; 
  10. alert(name.age);//undefined 
  11.  
  12. //总结:对于引用类型的值,我们可以为其添加属性和方法,也可以改变和删除其属性和方法。 
  13. //但是,我们不能给基本型类的值添加属性,尽管这样做不会导致任何错误。 
  14. */  
[javascript] view plaincopy
  1. /* 
  2. //<strong>4.1.2 复制变量值</strong> 
  3. var num1=5; 
  4. var num2=num1; 
  5. alert(num2); 
  6.  
  7. var obj1=new Object(); 
  8. var obj2 = obj1; 
  9. obj1.name="Nicholas"; 
  10. alert(obj2.name); 
  11. */  

 

 

 

[javascript] view plaincopy
  1. <strong>//4.1.3 传递参数</strong>  
  2. /* 
  3. function addTen(num){ 
  4.     num+=10; 
  5.     return num; 
  6. } 
  7. var count=20; 
  8. var result=addTen(count); 
  9. alert(count);//20 
  10. alert(result);//30 
  11. */  
  12.   
  13. /* 
  14. function setName(obj){ 
  15.     obj.name="Nicholas"; 
  16. } 
  17. var person = new Object(); 
  18. setName(person); 
  19. alert(person.name);//Nicholas 
  20. */  
  21.   
  22. /* 
  23. function setName(obj){ 
  24.     obj.name="Nicholas"; 
  25.     obj=new Object(); 
  26.     obj.name="Greg"; 
  27. } 
  28. var person = new Object(); 
  29. setName(person); 
  30. alert(person.name);//Nicholas 
  31. */  
[javascript] view plaincopy
  1. <strong>//4.1.4 检测类型</strong>  
  2. //基本类型用 typeof 检测  
  3. var s = "Nicholas";  
  4. var b = true;  
  5. var i = 22;  
  6. var u;  
  7. var n =null;  
  8. var o = new Object();  
  9. alert(typeof s);//string  
  10. alert(typeof b);//boolean  
  11. alert(typeof i);//number  
  12. alert(typeof u);//undefined  
  13. alert(typeof n);//object  
  14. alert(typeof o);//object  
  15.   
  16. //引用类型 result=variable instanceof constructor  
  17. alert(person instanceof Object);  
  18. alert(colors instanceof Array);  
  19. alert(pattern instanceof RegExp);  
分享到:
评论

相关推荐

    JavaScript数据类型之基本类型和引用类型的值

    ECMAScript变量包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值是简单的数据段,而引用类型值指那些可能由多个值构成的对象。 在将一个值赋给变量时,解析器必须确定这个值是基本类型还是引用类型。...

    JavaScript中值类型和引用类型的区别

    JavaScript中值类型和引用类型的区别 JavaScript中的值类型的值是不可变的: 任何方法都无法改变值类型的值。数字、布尔值、null和undefined等都属于不可变类型。比如,修改一个数值的内容,本身就说不通。虽然字符...

    JavaScript基本数据类型及值类型和引用类型

    在JavaScript中四种基本的数据类型:数值(整数和实数)、字符串型(用“”号或‘’括起来的字符或数值)、布尔型(使True或False表示)和空值。在JavaScript的基本类型中的数据可以是常量,也可以变量。由于...

    【JavaScript源代码】JavaScript高级程序设计之基本引用类型.docx

     目录 1、Date2、RegExp3、原始包装类型 1、Date 2、RegExp 3、原始包装类型 前言: 引用值(对象)都是某个特定的引用类型的实例对象,例如 Date类型、Function类型,RegExp 正则表达式类型等等。JavaScript...

    javaScript的数据类型

    ECMAScript 中有 5 种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和 String。还有 1种复杂数据类型——Object,Object 本质上是由一组无序的名值对组成的。ECMAScript 不支持任何创建...

    JavaScript引用类型和基本类型详解

    引用类型值:按引用访问,当查询时,我们需要先从栈中读取内存地址,然后再顺藤摸瓜地找到保存在堆内存中的值; 下面就分别介绍一下javascript的这两种数据类型。 一.基本数据类型: 在javascript中存在着六种基本...

    JavaScript高级教程-引用类型.pptx

    基本类型和引用类型 JavaScript 中共有 6 种基本数据类型:Undefined、Null、Boolean、Number、String、Symbol (new in ES 6) ! 约定:基本数据类型与原始数据类型等意。 基本数据类型的值是按值访问的。

    JavaScript引用类型Object常见用法实例分析

    本文实例讲述了JavaScript引用类型Object常见用法。分享给大家供大家参考,具体如下: 1、JavaScript数据类型 (1)基本类型 5种基本类型:Undefined、Null、Boolean、Number、String (2)引用类型 5种引用类型:Object...

    详解JavaScript基本类型和引用类型

     早在介绍JS的数据类型的时候就提到过基本类型和引用类型,不过在说两种类型之前,我们先来了解一下变量的值的类型。在ECMAScript中,变量可以存在两种类型的值,即原始值和引用值。 (1)原始值  存储在栈中的简单...

    JavaScript 值类型和引用类型的初次研究(推荐)

    主要介绍了JavaScript 值类型和引用类型的初次研究,需要的朋友可以参考下

    JavaScript基本数据类型和引用类型的区别详解

    前两天看到kraaas大神的关于基本数据类型和引用类型的区别的文章觉得写得非常不错,就想着在其基础上加上自己平时看到的一些知识点和理解,所以就有了以下的文章 js基本数据类型包括:undefined,null,number,boolean...

    Javascript 关于基本类型和引用类型的个人理解

    1.基础类型 A. 基础类型有5种,Number,String,Boolean,Null,Undefined B. 基础类型没有堆的概念,堆只针对引用类型。 所有基础类型都是以key-value形式存放在栈中,...所有引用类型都是以key-value形式存放在栈中,

    JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题

     此时,id为zzk_q的值应该为 测试 ,即input框内应该显示 测试 。但结果。。    咦,为什么没有变呢,不对啊,又来来回回变着法子试一下,还是不行,当然代码基本还是那样子的。突然想起我以前遇见过这样子的...

    JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】

    本文实例讲述了JavaScript引用类型之基本包装类型。分享给大家供大家参考,具体如下: 为了操作基本类型值,ECDMAScript提供了3个特殊的引用类型——基本包装类型Boolean、Number和String。每当读取一个基本类型值时...

    javascript中基本类型和引用类型的区别分析

    ECMAScript包含两个不同类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段;引用类型值指由多个值构成的对象。当我们把变量赋值给一个变量时,解析器首先要做的就是确认这个值是基本类型值还是引用...

    Javascript浅谈之引用类型

    引用类型(Reference type)引用类型是javascript中一种内部类型。它主要是当做一个指代,代替一个变量或者函数,当然在需要真实值时,又可以通过它寻找到真实值。 2.引用类型的结构引用类型的值时由两部分构成,一...

    JavaScript类型系统之基本数据类型与包装类型

     javascript的数据类型可以分为两种:原始类型和引用类型  原始类型也称为基本类型或简单类型,因为其占据空间固定,是简单的数据段,为了便于提升变量查询速度,将其存储在栈(stack)中(按值访问)。其中,...

Global site tag (gtag.js) - Google Analytics