第三章  基础类型 引用类型

写于平安夜

数据类型有基础类型和引用类型。

由这两种类型导致对数据的操作有两种方式 传值操作和传址操作.

基本数据类型通过传值来操作;引用类型通过传址来操作.

1.数字和布尔类型 是 基本类型,由一些很小的固定数目的字节组成.

2.对象是引用类型,数组和函数属于对象的特殊类型这些数据类型可以包含任意数目的属性或元素,

因为它们无法像固定大小的基本类型值那样很容易地操作

对数据有3中操作

1.复制(我理解为赋值)

   传值复制复制的是值,存在着不同的独立的拷贝;

   传址复制的是对数值的引用。如果通过这个新的引用修改了数值,这个改变对最初的引用来说也可见。

2.传递(我理解为函数参数)

   传值传递 传递给函数的值是一个独立的拷贝,对它的改变在函数外部没影响。
      传址传递 传递给函数的是对数值的一个引用。如果函数通过传递给它的引用修改了数值,这个改变在函数外部也可见。

3.比较

  传值比较的是两个独立的值,通常逐字比较,以判断它们是否相同。

   传址比较的是两个引用,而不是两个引用的值,

对第三个做个实例

var originalDate = new Array(2);
originalDate[0] = '更改前1';
originalDate[1] = '更改前2';
function TestReferencePass(passRef)
{
  passRef[0] = '更改后1';
  passRef[1] = '更改后2';
}

TestReferencePass(originalDate);
alert('"noriginalDate[0]='+originalDate[0]+'"noriginalDate[1]='+originalDate[1]);

这种对引用进行的更改会影响到函数外的引用类型的数据
但是如果你在函数里面是覆盖了引用类型的数据
这样是不会影响到函数外的引用类型的数据
因为这相当于重新生成了一个引用,相当于重新开辟了一个内存地址
 例子如下

var originalDate = new Array(2);
originalDate[0] = '更改前1';
originalDate[1] = '更改前2';
function TestReferencePass(passRef)
{
  var newRef = new Array(2);
  newRef[0] = '更改后1';
  newRef[1] = '更改后2';
  passRef = newRef;
}

TestReferencePass(originalDate);
alert('"noriginalDate[0]='+originalDate[0]+'"noriginalDate[1]='+originalDate[1]);

转载于:https://www.cnblogs.com/loafer/archive/2008/12/24/1793253.html

Javascript 权威指南第五版 手记(1) 引用类型相关推荐

  1. Javascript 权威指南第五版 手记(2) 变量的作用域

    作用域的一些问题 写于平安夜 见书本第四章,先用四段简单的脚本,来做个,实例测试 示例1: var PH='you are big Pig Head'; function getAlert() { a ...

  2. 翻译:《JavaScript 权威指南(第5版)》第一章(一)

    声明:翻译只有一个目的:学习用途.若有版权问题请及时联系本人. 本贴文根据篇幅将第一章的翻译分为两个部分,这是第一部分的内容. Chapter 1. Introduction to JavaScrip ...

  3. 《JavaScript权威指南第四版》 电子版 电子书下载

    JavaScript权威指南第四版 图书评价:★★★★☆ 图书语言:简体图书 图书大小:19.11MB 图书格式:PDF 图书作者:David Flanagan 更新日期:2006-05-23 下载次 ...

  4. 【JavaScript权威指南(第七版)】之阅读学习总结

    写在前面 最近借着空闲时间断断续续两个月看完了<JavaScript权威指南(第七版)>,<JavaScript权威指南>一直以来被称为"犀牛书",前面的第 ...

  5. JavaScript权威指南(第6版)(中文版).pdf

    pdf 电子版书籍, 百度云盘:[JavaScript权威指南(第6版)(中文版)] 提取密码:b0tf

  6. JavaScript权威指南(第6版)

    JavaScript权威指南(第6版) 编辑推荐 经典权威的JavaScript工具书 本书是程序员学习核心JavaScript语言和由Web浏览器定义的JavaScript API的指南和综合参考手 ...

  7. JavaScript权威指南(第6版)中文版pdf

    JavaScript权威指南(第6版)中文版pdf JavaScript权威指南(第6版)中文版pdf 百度网盘下载链接:点击下载

  8. JavaScript权威指南第六版中文扫描版电子书下载

    JavaScript权威指南下载链接: https://pan.baidu.com/s/1VsqtVZ7yu-3MEesESqNtwg 提取码获取方式:关注下面微信公众号,回复关键字: aujs

  9. 《JavaScript权威指南第7版》第15章 Web浏览器中的JavaScript 15.1 15.2 15.3

    第15章 Web浏览器中的JavaScript 15.1 网络编程基础 15.1.1 HTML script 标签中的JavaScript 模块 指定脚本类型 脚本运行时:异步和延迟 按需加载脚本 1 ...

  10. kubernetes权威指南第五版_Java 微服务实用指南(二)

    Java 微服务的部署和测试 请快速回顾一下上一篇文章开头提到的基础知识,任何服务器端的 Java 程序,都是.jar 或.war 文件,因此也包括微服务. 在 Java 生态系统(更确切地说是 JV ...

最新文章

  1. AI一分钟 | Google预借京东卖音箱;AI Dota击败人类玩家;思必驰5亿融资搞芯片
  2. eclipse卸载插件小记
  3. php分开每个字,PHP,分解每个句子之间有特殊字符的文本文件
  4. 【Qt】QModbusExceptionResponse类
  5. TFS 2012研发管理能力(9)
  6. 我xp电脑桌面没有计算机图标不见了,xp系统我的电脑图标不见了怎么办|如何找回我的电脑图标-系统城...
  7. win7计算机找不到脚本文件夹,解决win7开机提示“windows script host 无法找到脚本文件”的方法...
  8. Cardano链上首个流动性解决方案商Occam宣布与Changelly合作孵化新项目
  9. 动圈耳机振膜_动圈耳机和动铁耳机区别,以及选择
  10. gson 不忽略空_仅在不为null或不为空的情况下,Gson序列化字段
  11. MyEclipse8.5破解方法
  12. 需要显卡还是cpu_玩游戏卡顿,帧数低,是该升级显卡,还是升级cpu?
  13. set 排序_堆排序C++实现
  14. 精简版oracle客户端程序
  15. JMP软件在质量管理中的应用简述
  16. Linux(CentOS)安装 Vim编辑器
  17. vue怎么改logo_vue项目添加网页logo
  18. VS 0x80041FEB
  19. 计算机应用基础课程作业2016,2016浙大远程教育计算机应用基础作业
  20. mysql连接与嵌套查询_数据库之嵌套查询与连接查询

热门文章

  1. Knowledge Distillation(知识蒸馏)Review--20篇paper回顾
  2. NLP 事件抽取综述(中)—— 模型篇
  3. Bleu:此'蓝'非彼蓝
  4. 3.2 决策树可视化
  5. 1.2 案例:波士顿房价预测
  6. 1.7 非平衡数据的处理方法大全
  7. 通俗理解Meanshift均值漂移算法
  8. 对梯度提升树(GBDT)的通俗理解
  9. Tensorflow:可视化学习TensorBoard
  10. python入门:基础,列表、元组、字典及集合类型