JavaScript学习笔记(一) 变量

  • 基本类型和引用类型的值

基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象。

基本类型值(Undefined、Null、Boolean、Number 和String)类似于其他语言比如(C#、Java)中的基础数据类型,比如int、string、bool等;

Javascript中,变量的声明统一用关键字var声明,Javascript为弱类型语言

比如1=="1"//输出true(双等号只比较值内容,不比较值类型);1==="1"//输出false(三等号表示完全等于)

引用类型值类似于其他语言比如(C#、Java)中的类概念,变量存储的内容为地址;

  • 复制变量值

下面我们用示例查看一下两者之间的区别

    • 基本类型值:

var num1 = 5;

var num2 = num1;

num2 = 10;

alert(num1);//输出10

alert(num2);//输出20

从上述例子中看出,num1 中保存的值是5。当使用num1 的值来初始化num2 时,num2 中也保存了值5。但num2中的5 与num1 中的5 是完全独立的,该值只是num1 中5 的一个副本。此后,这两个变量可以参与任何操作而不会相互影响。

    • 引用类型值:

var obj1 = new Object();

var obj2 = obj1;
obj1.name = "Nicholas";
alert(obj2.name); //"Nicholas"

  • 传递参数

ECMAScript 中所有函数的参数都是按值传递的。(复制到arguments 对象中的一个元素)

var setName = function(obj){

obj.name = "hgxu";

obj = new Object();

obj.name = "haha";

}

var person = new Object();

setName(person);

alert(obj.name);//输出hgxu

上述例子中,如果参数是按照引用传递,则setName函数中的所有对于obj的操作都应该对obj指向的内容产生影响,应该输出haha,但是实际情况不是这样的。

 

 

 

 

posted @ 2015-07-01 12:16  关哥显灵  阅读(105)  评论(0)    收藏  举报