手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Javascript入门学习第二篇 js类型第1/2页
Javascript入门学习第二篇 js类型第1/2页
摘要:1,对象跟基本类型之间的转换:不管何时,只是对象非空,在布尔环境中都为true.如;newBoolean(false);newNumber(...

1,对象跟基本类型之间的转换:

不管何时,只是对象非空,在布尔环境中都为true.

如;

newBoolean(false);

newNumber(0);

newString(“”);

newArray();

上面虽然内部值是false,但对象的值是true;

Object?valueOf()?toString()

其中Date类,是先执行toString()转换。

2,js中操作一个数据值:

任何语言都有自己的操作数据的方法;

Js也不例外,js有3种重要的方式来操作一个数据值。

1)复制它。例如把它赋给一个新的变量。

2)把它作为参数传递给一个函数或方法。

3)可以和其他值比较大小。

Js通过传值和传址2种方式操作这些数据的值。

从名称可以看处,传值是通过传递值来操作数据。在赋值的过程中,对实际的值进行了拷贝,存储到一个新的变量中。拷贝的值和原来的值是2份完全独立的值。所以如果你改变了拷贝的值,并不会影响原来的值。当比较大小时候,通常进行琢个字节比较。

传址从名字来看,就是通过传递地址来操作数据。在赋值的过程中,对实际的值的地址(可以说是引用)进行了拷贝,他们不是完全的独立,所以如果你通过引用改变了值,那么原始的值也会改变。当比较大小的时候,通常是看他们是否引用同一个地址来比较。

简单的传址例子:

vara=newDate();

alert(a.getDate());

varb=a;

b.setDate(21);

alert(a.getDate())//输出21

3,一般来说:

基本数据类型通过传值来操作的。(如果忘记了哪些是基本数据类型,可以往回看。)

对象数据类型通过传址来操作的。(比如数组和函数)

例子:

<script>

//传值

a=1;

b=a;

b=2;

alert(a);//输出1

//传址

x=[1,2];

y=x;//赋给y的只是x的一个引用,而不是x本身。数组已经在语句中被赋值了,执行过这段代码后,仍旧只有一个数组对象,只不过我们有2个对他的引用了。

y[0]=2;

alert(x[0]+"|"+x[1]);//输出2|2

</script>

其中我们必须注意字符串:

js中字符串是通过传址来复制和传递的,而他们是通过传值来比较的。

对象和数组是用传值来传递的,只不过传递的这个值实际是一个引用,而不是对象本身。

总结:

类型复制传递比较

数字传值传值传值

布尔传值传值传值

字符串不可变不可变传值

对象传址传址传址

不可变:在JS中,没有方法去改变字符串值的内容。

对字符串来说,传值还是传址,意义不大。

当前1/2页12下一页阅读全文

【Javascript入门学习第二篇 js类型第1/2页】相关文章:

javascript每日必学之运算符

javascript小技巧 超强推荐第1/5页

Javascript实现广告页面的定时关闭

JavaScript对传统文档对象模型的支持

JavaScript实现的MD5算法完整实例

JavaScript AOP编程实例

Javascript 小技巧全集第1/4页

javascript先序遍历DOM树的方法

JavaScript实现Iterator模式实例分析

JavaScript函数使用的基本教程

精品推荐
分类导航