js中值引用和地址引用实例分析
本文实例讲述了js中值引用和地址引用。分享给大家供大家参考,具体如下:
js中任何事务都是对象。包括基本数据类型(undefined,boolean,number,string,null)。
对象只是拥有属性和方法的特殊数据类型。
基本数据类型也是对象
var a = "hello"; var b = "hello";
既然是对象,那么它默认拥有属性和方法
a.length
长度属性
a.toUpperCase()
把字符串a编程大写的方法
a==b,因为是按照 值进行比较 的
js中的内置对象
1、String
2、Array
3、Date
4、RegExp
5、Number
6、Math
var a = new String("123"); var b = new String("123"); alert(a==b); //结果返回false
那么问题来了,自定义对象不是 按值比较的?
总结:基本数据类型是值比较,非基本数据类型比对的内存地址。
var a = new Object(); a.price = 173; var b = a; b.price = 170; //b更改了属性值,a的属性值一起会被改变 alert(a.price); //输出170
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
相关推荐
-
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
在传统的观念里,都认为JavaScript函数传递的是引用传递(也称之为指针传递),也有人认为是值传递和引用传递都具备.那么JS的参数传递到底是怎么回事呢?事实上以下的演示也完全可以用于Java 首先来一个比较简单的,基本类型的传递: function add(num){ num+=10; return num; } num=10; alert(add(num)); aelrt(num); //输出20,10 对于这里的输出20,10,按照JS的官方解释就是在基本类型参数传递的时候,做了一件复制
-
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
1.基本数据类型传递参数: 复制代码 代码如下: funciton addTen(num){ num+=10; return num; } var count=20; var result=addTen(count); alert(count);//20 alert(resullt);//30 执行结果是:20和30.在这段代码中,将变量count当做参数传递给了函数addTen,也就是相当于将变量count的值复制给了函数addTen的参数.这时addTen的参数num可以看做是函数内部的一个
-
JavaScript对象引用与赋值实例详解
本文实例讲述了JavaScript对象引用与赋值.分享给大家供大家参考,具体如下: <script type="text/javascript"> //例子一: 引用 var myArrayRef = new Array(0,1,2); //创建数组对象 var mySeconArrayRef = myArrayRef; // 对象复制. myArrayRef[0] = 100; // 修改元素值 alert(mySeconArrayRef[0]); /** * 输出 10
-
js中判断Object、Array、Function等引用类型对象是否相等
在迭代中,我们还要注意的是,对象或者数组中的元素可能是一个任意值--除了原始类型值.object.arrray外,这个值还可能是一个方法.一个DOM对象或者window对象,可能你已经注意到了,有部分引用类型是不能进行迭代的,需要分支判断,代码如下: 复制代码 代码如下: function compare(a,b){ var pt = /undefined|number|string|boolean/, fn = /^(function\s*)(\w*\b)/, cr = "constructo
-
JavaScript对象参数的引用传递
今天碰到一个问题,怎样把参数变更影响到函数外部,如: <script> var myname = "wood"; A(myname); document.write(myname); function A(n) { n = "Yao"; } </script> 输出结果还是wood,说明当myname传入A函数后,在函数体内,相当于有一个myname的副本,这个副本的值等于myname,之后在函数体内对其做的操作是在这个副本上进行的. 但情况
-
Javascript学习笔记之 函数篇(三) : 闭包和引用
Javascript 中一个最重要的特性就是闭包的使用.因为闭包的使用,当前作用域总可以访问外部的作用域.因为 Javascript 没有块级作用域,只有函数作用域,所以闭包的使用与函数是紧密相关的. 模拟私有变量 复制代码 代码如下: function Counter(start) { var count = start; return { increment: function() { count++; },
-
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在Javascript中,已经存在一些标准的类,例如Date.Array.RegExp.String.Math.Number等等,这为我们编程提供了许多方便.但对于复杂的客户端程序而言,这些还远远不够. 与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很
-
js函数的引用, 关于内存的开销
请看如下代码: 复制代码 代码如下: var arr = []; var cc = function(){alert('xx');}; for(var i = 0; i<2; i++){ arr[i] = function(){alert('yy');} arr[i+10] = cc; } console.group('开始') console.group('1') console.info( arr[0] == arr[1]); console.info( arr[0] === arr[1])
-
javascript引用对象的方法
<a id="link1" name="link1" href="http://bbs.51js.com/">51js</a> ============= 同一页面内的引用方法: 1.使用id: link1.href 2.使用name: document.all.link1.href 3.使用sourseIndex: document.all(4).href //注意,前面还有HTML.HEAD.TITLE和BODY,所以
-
javascript引用对象的方法代码
同一页面内的引用方法: 1.使用id: link1.href 2.使用name: document.all.link1.href 3.使用sourseIndex: document.all(4).href //注意,前面还有HTML.HEAD.TITLE和BODY,所以是4 4.使用链接集合: document.anchors(0).href //全部的集合有all.anchors.applets.areas.attributes.behaviorUrns.bookmarks. boundEle
-
菜鸟学习JavaScript小实验之函数引用
复制代码 代码如下: function tt() { alert(11); } var b = tt; var b1 = tt(); //执行tt()函数功能 对于函数的引用,可直接将函数名"tt"赋给变量,但不可以是函数名+括号的形式"tt()",因为第二种是直接执行该函数. 调用函数的时候,用变量名+括号的形式,如:b(). 复制代码 代码如下: function tt() { alert(11); } var b = tt; alert(b); functio
随机推荐
- VB使用XMLHTTP实现Post与Get的方法
- sql2008保存注册服务器的实现方法
- AngularJS实现页面定时刷新
- Java8中的 Lambda表达式教程
- js实现简单选项卡与自动切换效果的方法
- Coolite Cool Study 2 同时更新多个Tab
- PHP实现对站点内容外部链接的过滤方法
- 在Python中定义和使用抽象类的方法
- IOS 静态方法与动态方法详解
- 使用bootstrap实现多窗口和拖动效果
- 响应式表格之固定表头的简单实现
- myFocus 一个KindEditor的焦点图插件
- JavaScript 事件流、事件处理程序及事件对象总结
- js获取Html元素的实际宽度高度的方法
- apache的access.log和error.log减肥
- javaScript实现复选框全选反选事件详解
- 在Win2003服务器上架设VPN服务器的方法
- java文件上传下载功能实现代码
- 基于Android扫描sd卡与系统文件的介绍
- android实现Splash闪屏效果示例