面向对象的JavaScript (一) ----- Javascript偏僻的基础知识

来源:互联网 发布:做淘宝需要团队吗 编辑:程序博客网 时间:2024/06/05 04:44
本系列文章主要讲解javascript的面向对象机制,以及如何写出面向对象的javascript代码。作为本系列的第一篇文章,本文主要介绍javascript的比较偏僻的基础知识,对于一些基本的语法,本文不会做介绍。读者如果有什么不理解的地方,可以参考其他javascript的书籍。让我们开始进入javascript的世界。

1.数据类型
javascript有如下5中基础数据类型(不包括object)
Number
String
Boolean
Undefined
Null

首先介绍undefined和null的区别。
undefined表示,当访问不存在的变量的时候,会返回undefined,或者申明了变量但是没有赋值,javascript就会自动给这个变量附上undefined这个初值。
null表示没有值,空值。与undefined的区别是,如果值是null,这个变量仍旧是定义过得,之后我会举个例子详细介绍。

在讲解这些数据类型之前,还需要介绍一个操作符,因为这个操作符很有用,它就是typeof
typeof:返回一个表示类型的字符串,比如“number”,“boolean”“undefined”等。有了这个,你可以自己在写一些javascript代码试试,观察一些各个变量各种情况下的类型以加深理解.

现在开始详细介绍各个类型:
1.1 number
number的值可以用科学计数法表示的,比如:
1e+1 表示 10  2e+3 表示2000  2e-3 表示 0.002
infinity也是number的值,大概是1.7e+308左右,如果大于这个数,值仍旧是infinity,任何数除以0也会得到infinity,最小的数是-infinity
另外,number还有一个值,是NaN,表示"不是一个数字".比如你用10乘以字符串"f"的时候,得到的结果是NaN.注意,NaN是会传递的,如果一个算式中的一个单元结果为NaN,则整个算式的结果为NaN.

1.2 string
当string进行数字运算的时候,会自动的转化为数字,比如:
var s="1"; s = s*3;
此时s的类型就是数字.
所以,比较偷懒的将字符串装化为数字的方法就是让字符串*1.

1.3 比较
关于boolean没什么好讲的,所以来谈谈比较.除了= 和 = =外,javascript还提供= = =.表示全等,作用是,不仅比较值相等,还要比较类型相等.同理还有!==

1.4 关于undefined和null
终于又讲到它们了.举个例子,
 var somevar=null
这时,somevar的值是null,类型是object.
如果是这样:
var someva.
则得到的结果是undefined

另外
1+undefined是null
1+null是1
1*null是0
!!undefined是false
!!null是false.

1.5 数组
最后讲讲数组,数组的类型是object,
主要提一下数组的删除:
var a=[1,2,3]
delete a[1];
注意,此时a的值是
[1,undefined,3]

本文大致结束了,感觉只是提了一些概念,其实主要的javascript语法大家都懂,所以感觉也没什么必要在反复讲解.在后面一篇文章中,我会讲解在属下面向对象的javascript时的一些基础知识.为之后介绍继承做好准备.