4.1.1动态的属性
var person=new Object();
person.name="lh";
alert(person.name);
*不可以给基本类型添加属性
4.1.2复制变量值
基本类型:在复制的时候是两个独立的变量
var num1=5;
var num2=num1;//改变num2的值不会改变num1
引用类型:指向的是同一个对象,所以任何一方改变会使另外一个对象改变
var obj1=new Object();
var obj2=obj1;
obj1.name="tom";
alert(obj2.name);//tom
4.1.3传递参数
书上的意思是,函数的参数只能按值传递,但是实际上可以理解,对象的传递是按引用传递的
function addTen(num){
num+=10;
return num;
}
var count=20;
var result=addTen(count);
alert(count);//20,没有变化
alert(result);
function setName(obj){
obj.name="jack";
}
var person=new Object();
setName(person);
alert(person.name);
4.1.4检测类型
var s="javl";
alert(typeof s);//string
检测引用类型时,可以使用instanceof
4.2.2查询标识符
当在某个环境中为了读取或写入而引用一个标识符时,必须通过搜索来确定该标识符实际代表什么。搜索过程中从作用域的前端开始,向上逐级查询,如果在局部
环境找到了改标识符,则停止,如果找不到,继续往上找,实在找不到就是未定义,尚未声明。
var color="blue";
function getColor(){
return color;
}
alert(getColor());//blue
ex2;
var color="blue";
function getColor()
{
var color="red";
return color;
}
alert(getColor());//red
var person=new Object();
person.name="lh";
alert(person.name);
*不可以给基本类型添加属性
4.1.2复制变量值
基本类型:在复制的时候是两个独立的变量
var num1=5;
var num2=num1;//改变num2的值不会改变num1
引用类型:指向的是同一个对象,所以任何一方改变会使另外一个对象改变
var obj1=new Object();
var obj2=obj1;
obj1.name="tom";
alert(obj2.name);//tom
4.1.3传递参数
书上的意思是,函数的参数只能按值传递,但是实际上可以理解,对象的传递是按引用传递的
function addTen(num){
num+=10;
return num;
}
var count=20;
var result=addTen(count);
alert(count);//20,没有变化
alert(result);
function setName(obj){
obj.name="jack";
}
var person=new Object();
setName(person);
alert(person.name);
4.1.4检测类型
var s="javl";
alert(typeof s);//string
检测引用类型时,可以使用instanceof
4.2.2查询标识符
当在某个环境中为了读取或写入而引用一个标识符时,必须通过搜索来确定该标识符实际代表什么。搜索过程中从作用域的前端开始,向上逐级查询,如果在局部
环境找到了改标识符,则停止,如果找不到,继续往上找,实在找不到就是未定义,尚未声明。
var color="blue";
function getColor(){
return color;
}
alert(getColor());//blue
ex2;
var color="blue";
function getColor()
{
var color="red";
return color;
}
alert(getColor());//red