Javascript中引用示例介绍

 Javascript脚本中,引用的参数内部可以修改,但参数对应的引用不能修改,下面为大家详细介绍下

在Javascript脚本中,参数的引用原则:引用的参数内部(如属性)可以修改,但参数对应的引用(reference)不能修改。 
 
一个测试例子如下: 
代码如下:
<script language="javascript"> 
//dosomething1,对于引用,变量本身不可以修改,但变量内部结构可以修改 
function dosomething1(a){ 
a = 'try'; 

 
//测试1 
function test1(){ 
var a = {a:'test',b:'is',c:'ok'}; 
dosomething1(a); 
alert(a.a); 

//dosomething2 
function dosomething2(v){ 
v.a = v.a + '!!!'; //修改引用变量的属性,修改成功 
v = 'try'; //试图修改变量引用,修改失败 

//测试2 
function test2(a){ 
var a = {a:'test',b:'is',c:'ok'}; 
dosomething2(a); 
alert(a.a); 

test2(); 
</script> 

时间: 2025-01-30 14:57:26

Javascript中引用示例介绍的相关文章

Javascript中引用示例介绍_基础知识

在Javascript脚本中,参数的引用原则:引用的参数内部(如属性)可以修改,但参数对应的引用(reference)不能修改. 一个测试例子如下: 复制代码 代码如下: <script language="javascript"> //dosomething1,对于引用,变量本身不可以修改,但变量内部结构可以修改 function dosomething1(a){ a = 'try'; } //测试1 function test1(){ var a = {a:'test'

JavaScript中逗号运算符介绍及使用示例

 这篇文章主要介绍了JavaScript中逗号运算符介绍及使用示例,本文讲解了逗号运算符的定义.使用例子及实际使用的一些技巧,需要的朋友可以参考下     有一道js面试题,题目是这样的:下列代码的执行结果是什么,为什么? 代码如下: var i, j, k; for (i=0, j=0; i<10, j<6; i++, j++) { k = i+j; } document.write(k);   答案是显示10,这道题主要考察JavaScript的逗号运算符. 下面是MDN对逗号运算符的定义

JavaScript中的闭包介绍

 这篇文章主要介绍了JavaScript中的闭包介绍,本文讲解了Javacript 闭包.Javscript 闭包与this.Javscript 闭包与读写变量等内容,需要的朋友可以参考下     所谓的闭包应该是指: 内部函数读取当前函数以外的变量,即创建时所处的上下文环境. 代码如下: function hello(){ var char = "hello,world"; function print(){ console.log(char); }; return print();

javascript中正则表达式反向引用示例介绍

 这篇文章主要介绍了javascript中正则表达式反向引用,需要的朋友可以参考下 最近遇到一个需求,传入一个字符串,每三个字符插入一个空格    例:    传入abcd1234    输出 abc d12 34    思考了一下,准备写一个函数如下   代码如下: function appendSpace(s)  {  var length = s.length;  var result = "";  var last = 0;  for(var i = 3;i<=lengt

JavaScript中的正则表达式介绍

 这篇文章主要介绍了JavaScript中的正则表达式,简明总结了正则中的语法含义和RegExp对象,需要的朋友可以参考下 一.定义正则表达式的方法   定义正则表达式的方法有两种:构造函数定义和正则表达式直接量定义.例如:    代码如下:var reg1 = new RegExp('d{5, 11}'); // 通过构造函数定义 var reg2 = /d{5, 12}/; // 通过直接量定义   正则表达式直接量字符        o:NUL字符(u0000)        t:制表符(

Javascript中的delete介绍_javascript技巧

一.问题的提出 我们先来看看下面几段代码,要注意的是,以下代码不要在浏览器的开发者工具(如FireBug.Chrome Developer tool)中运行,原因后面会说明: 为什么我们可以删除对象的属性: 复制代码 代码如下: var o = { x: 1 }; delete o.x; // true o.x; // undefined 但不以删除像这样声明的变量: 复制代码 代码如下: var x = 1; delete x; // false x; // 1 也不能删除像这样定义的函数:

JavaScript delete操作符示例介绍

JavaScript中的delete是一个操作符(也是一个关键字),它可以用来删除对象中的指定属性,也可用于删除数组中的元素. delete删除对象属性 var obj = { }; obj.x = 20; obj.y = 10; // 删除obj对象的属性x,obj不再具有x属性 delete obj.x;   值得注意的是,JS中的delete只是删除对象的属性本身,而不是删除该属性的值.只不过在多数情况下,该属性的值会由于失去了引用,而被垃圾回收. var obj = { }; obj.x

javascript中函数用法介绍(匿名函数,函数传值,参数)(1/2)

第一课 -- 匿名函数 一.什么是匿名函数? 在Javascript定义一个函数一般有如下三种方式: 1.函数关键字(function)语句:  代码如下 复制代码 function fnMethodName(x){alert(x);} 2.函数字面量(Function Literals): var fnMethodName = function(x){alert(x);} 3.Function()构造函数: var fnMethodName = new Function('x','alert(

JavaScript中setAttribute用法介绍

我们经常需要在JavaScript中给Element动态添加各种属性,这可以通过使用setAttribute()来实现,这就涉及到了浏览器的兼容性问题   setAttribute(string name, string value):增加一个指定名称和值的新属性,或者把一个现有的属性设定为指定的值. 1.样式问题 setAttribute("class", value)中class是指改变"class"这个属性,所以要带引号. vName代表对样式赋值. 例如: