JavaScript中的对象是有着属性和方法的一种特殊数据类型。
常见的对象有数字Number,字符串String,日期Date,数组Array等。
本章节从数字对象开始讲起
注: 这里讲的Number是对象Number,和基本数据类型中的基本类型Number是不一样的Number。
示例 1 :
创建一个数字对象
可以通过new Number()创建一个数字对象
与基本类型的数字不同,对象类型的数字,拥有更多的属性和方法
接下来就会讲解各种属性和方法
<script> var x = new Number(123); document.write('数字对象x的值:'+x); document.write("<br>"); document.write('数字对象x的类型:'+typeof x); //通过typeof 获知这是一个object document.write("<br>"); var y = 123; document.write('基本类型y的值:'+y); document.write("<br>"); document.write('基本类型y的类型:'+typeof y); //通过typeof 获知这是一个number </script>
示例 2 :
最小值 最大值
Number对象能够取到的最大和最小边界
<script> document.write('Number对象的最小值:'+Number.MIN_VALUE); document.write("<br>"); document.write('Number对象的最大值:'+Number.MAX_VALUE); </script>
示例 3 :
表示不是数字
NaN(Not a Number),表示不是一个数字
当通过非数字创建Number的时候,就会得到NaN.
注意: 不能通过 是否等于Number.NaN来判断 是否 “不是一个数字”,应该使用函数 isNaN()
<script> function p(s){ document.write(s); document.write("<br>"); } var a = new Number("123abc"); //通过非数字创建Number对象,得到的是一个NaN p('通过非数字字符串"123abc"创建出来的Number对象 a的值是:'+a); p('但是, a==Number.NaN会返回:'+(a==Number.NaN)); //即便是一个NaN 也"不等于" Number.NaN p('正确判断是否是NaN的方式是调用isNaN函数:'+isNaN(a)); //正确的方式是通过isNaN() 函数进行判断 </script>
示例 4 :
返回一个数字的小数表达
toFixed返回一个数字的小数表达
<script> function p(s){ document.write(s); document.write("<br>"); } var a = new Number("123"); p("数字对象123通过toFixed(2) 保留两位小数:"+a.toFixed(2)); //保留两位小数点 var b = new Number("3.1415926"); p("PI 通过toFixed(3) 保留三位小数:"+b.toFixed(3));//保留三位小数点 </script>
示例 5 :
返回一个数字的科学计数法表达
<script> function p(s){ document.write(s); document.write("<br>"); } var a = new Number("123"); p("数字对象123通过toExponential 返回计数法表达 "+a.toExponential ()); var b = new Number("3.1415926"); p("数字对象3.1415926通过toExponential 返回计数法表达 "+b.toExponential ()); </script>
示例 6 :
返回一个数字对象的基本数字类型
方法 valueOf() 返回一个基本类型的数字
通过typeof 判断数据类型可以发现,一种是object,一种是number
<script> function p(s){ document.write(s); document.write("<br>"); } var a = new Number("123"); var b = a.valueOf(); p('数字对象a的类型是: '+typeof a); //返回object p('通过valueOf()返回的值的类型是'+typeof b); //返回number </script>