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
- JS-JavaScript数据类型与对象
- JavaScript 数据类型 、JS 变量 、JS 对象
- JavaScript数据类型、类与对象
- [JS]JavaScript数据类型与变量类型转换
- js数据类型与内建对象
- javascript笔记--流程控制、for、while、数据类型、js对象
- JavaScript数据类型,对象
- 【js】:javascript中的数据类型
- [JS]JavaScript的数据类型
- JS数据类型 变量 对象
- JS基本数据类型与对象的valueOf方法
- javascript变量与数据类型
- JavaScript的数据类型、内置对象
- 对象与数据类型
- js基础笔记 javascript数据类型
- js 数据类型与转换
- JS数据类型之Math对象
- js数据类型: 对象,数组,等
- netty 4.0.13 使用样例
- 南邮1340 矩阵逆 初等行转换
- 解析数据出错:reason: '-[__NSCFArray bytes]: unrecognized selector sent to instance 0x18056b30'
- 树莓派3安装QT5
- 趣发现 资源页面请求链接分析
- JS-JavaScript数据类型与对象
- 微信:小程序学习笔记(2)
- JsonDB - python实现的基于JSON格式的轻量级数据库开源项目
- (笔记)Spring实战_征服数据库(1)_Spring的数据访问哲学
- iOS学习 NSPredicate模糊搜索(全方面搜索)支持中文、数字、字母
- 2117数据结构实验之链表二:逆序建立链表
- HDU 2870 Largest Submatrix -
- 第四周 项目3-单链表应用(1)
- Xcode编译运行出现:CUICatalog: Invalid asset name supplied: (null)