例1
//创建一个对象
var obj=new Object();
//创建一个引用
var objRef=obj;
obj.oneProperty=true;
//此时obj和objRef指向同一个对象
alert(obj.oneProperty==objRef.oneProperty);
例2
//创建一个数组对象
var items=new Array("one","two","three");
//创建一个items的引用
var itemsRef=items;
items.push("four");
//此时obj和objRef指向同一个对象
alert(itemsRef.length==items.length);
例3
//将items置为字符串的数组
var items=new Array("one","two","three");
//将itemsRef置为items的引用
var itemsRef=items;
//将items置为新的对象
items=new Array("one","two");
//此时items和itemsRef指向不同的对象了
//items指向new Array("one","two");
//itemsRef指向new Array("one","two","three);
alert(itemsRef.length!=items.length);
例4
//在执行字符串连接操作时,结果总是一个新的字符串对象。而非原字符串的修改版本
var items="test";
var itemsRef=items;
items+="ing";
alert("items:"+items+";itemsRef:"+itemsRef);
例5
//arguments的应用
function show()
{
var arr=[];
for(var i=0;i<arguments.length;i++){
arr.push(arguments[i]);
};
for(var i=0;i<arr.length;i++){
alert(arr[i]);
};
}
show(1,2,3,8,6);
例6
// js中是依据函数划分作用域的。而不是块{}
var test="old string";
function change()
{
var test="new string";
}
change();
alert(test);
例7
//比较例6
var test="old string";
function change()
{
//此处没有var,注意如果变量没有显示声明,那么变量就是全局变量。统属于window对象
test="new string";
}
change();
alert(test);