码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript学习笔记(一) 变量

时间:2015-07-01 13:47:11      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:

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

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

基本类型值(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,但是实际情况不是这样的。

 

 

 

 

JavaScript学习笔记(一) 变量

标签:

原文地址:http://www.cnblogs.com/hgxu/p/4612912.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!