JS-JavaScript数据类型与对象

来源:互联网 发布:天津网络推广公司排名 编辑:程序博客网 时间:2024/04/20 11:19

一、JavaScript 五种基本数据类型

五种基本数据类型:Undefined、Null、Boolean、Number、String。除上五种基本数据类型外,JavaScript还有引用类型(即 class类型),包含上述基本类型的对象表示与Date类型、Math类型、Regex类型等。

首先介绍一个运算符:typeof。对变量或值调用typeof将返回对应的该变量或值的类型:

  • undefined - 如果变量是 Undefined 类型的
  • boolean - 如果变量是 Boolean 类型的
  • number - 如果变量是 Number 类型的
  • string - 如果变量是 String 类型的
  • object - 如果变量是一种引用类型或 Null 类型的。如:var a=new Array(); 则typeof a将返回object。

1、Undefined

只声明但未定义的类型:var a;  //a的值与类型都为undefined

说明:未声明的变量也是undefined类型。还应注意JavaScript中变量声明可以省略var:

var a;//值与类型都为undefinedvar b=10;//值为10,类型为Numberc="asdfkl";//省略声明关键字var,值为asdfk,类型为Stringalert(typeof d);//将提示undefined
由此得出,变量已经初始化,则类型确定,否则为undefined,相当于由值判断类型。

2、Null

可理解为一个值,即可使用null对变量或对象赋值,以清空该变量或对象(即释放该对象引用关联的对象空间)。但"typeof  值为null的变量或对象" 将返回类型为Object,无论初始化是该变量是什么类型。

如:var s="hello";//则s为String基本数据类型,但执行s=null后,typeof s将返回Object。


3、Boolean

基本类型:

var b=true;

对应引用类型:

var B=new Boolean();//构造器无参时括号可省略,故可写成var B=new Boolean;无参时默认为false,与java一致。


4、Number

基本类型:

var n=21.5;

var n2=21;

var n3=2.1e2;

var n4=0x15;

对应引用类型:

var N=new Number();//同样可选择是否指定初始值


5、String

基本类型:

var s="sskklg";

对应引用类型:

var S=new String();//同上


二、基本类型与对应引用类型的关系

基本类型是变量,而对应的引用类型是对象(Object类型),虽然声明方式都是以var开始。初始化方式不同,基本类型以值,引用类型以new Constructor()的形式。


三、JavaScript 对象

1、Boolean对象

var B=new Boolean();

var B=new Boolean(true);

属性:

constructor :返回对创建此对象的Boolean函数的引用,即返回最初的构造器地址。

prototype :动态向对象添加属性或方法。

方法:

toSource() :返回该对象的源代码。

toString() :将值返回为字符串。

valueOf() :返回boolean对象的原始值,即返回对应的基本数据类型值,返回类型为Boolean类型。


2、Number对象

var N=new Number();

var N=new Number(125.02);

属性:

共有:

基本的constructor 与prototype属性;

特有:

MAX_VALUE :类变量,值为JavaScript中可表示的最大的数。

MIN_VALUE :类变量,值为JavaScript中可表示的最小的数。

NaN :非数字值。

NEGATIVE_INFINITY :类变量,负无穷大,值为-infinity,溢出时(小于Number.MIN_VALUE)返回该值。

POSITIVE_INFINITY :类变量,正无穷大,值为infinity,溢出时(大于Number.MAX_VALUE)返回该值。

说明:可用isFinite(var)全局函数判断数字var是否无穷大。同样可用isNaN(var)判断变量var是否为数值类型,isNaN("1")将返回false。

方法:

共有:

toString();

valueOf();

特有:

toLocaleString() :数字转换为字符串,使用本地数字格式顺序。

toFixed(numb) :把数字转换为字符串,结果的小数点后指定numb(0-20的整数)位数的数字。

toExponential(numb) :把对象的值转换为指数计数法字符串。numb为小数位数。

toPrecision(numb) :把数字格式化为指数计数法字符串。此处numb为指数计数法的最小位数,如numb为4,则数值1将表示为1.0000e+0。


3、String对象

var S=new String;

var S=new String("zifuchuan");

属性:

基本的constructor 与prototype属性;

length :字符串长度。如"abc"长度为3.

方法:

http://www.w3school.com.cn/jsref/jsref_obj_string.asp


4、Array对象

var a=new Array;

var a=new Array(3);//指定长度为3

var a=new Array(value0,value1...);//使用参数列表创建

属性:

与String对象完全一样。

方法:

http://www.w3school.com.cn/jsref/jsref_obj_array.asp


5、Date对象

var d=new Date();

属性:

仅基本的constructor与prototype两个。

方法:

http://www.w3school.com.cn/jsref/jsref_obj_date.asp

常用几个:全年、月、日、星期(Day)、时、分、秒、毫秒。

getDate()/setDate(day):返回/设置时间对象的月中的某一天(1-31,若对9月(小)设置为31,则自动变为10月1日)。

getDay()/setDay(number):返回/设置星期数(0-6,对应星期日-星期六)。

getMonth()/setMonth(mon):返回/设置月份(mon取0-11)。

getFullYear()/setFullYear(year) :返回/设置四位数的年份。

getHours()/setHours(h):小时。0-23。

getMinutes()/setMinutes(m):分钟。

getSeconds()/setSeconds(s):秒。0-59。

getMilliSeconds()/setMilliSeconds(ms):返回/设置毫秒。0-999。

getTime()/setTime(ms):返回/设置距1970.01.01日的毫秒数。setTime(ms)返回ms。

上述返回/设置的都是本地时间,如需世界时间,除getTime与setTime外,方法名与上述名只相差UTC(世界统一时间),如getDate对应方法名为getUTCDate。

获取对应字符串方法:

toString()/toUTCString()/toLocalString():有细微的差别。

toTimeString()/toLocalTimeString():上一方法的时间部分(时分秒)。

toDateString()/toLocalDateString():日期部分(年月日)。

UTC():静态方法,返回距离1970.01.01的毫秒数。参数较多,应该很少用。Date.UTC(...)。

valueOf():无参,返回当前日期对象距1970.01.01的毫秒数。

6、Math对象

Math对象不用创建,因为只包含静态变量与方法供调用:

http://www.w3school.com.cn/jsref/jsref_obj_math.asp










0 0
原创粉丝点击