how2j.cn


工具版本兼容问题
JavaScript中的对象是有着属性和方法的一种特殊数据类型。

常见的对象有数字Number,字符串String,日期Date,数组Array等。

本章节从数字对象开始讲起

注: 这里讲的Number是对象Number,基本数据类型中的基本类型Number是不一样的Number。


关键字 简介 示例代码
new Number
创建一个数字对象
示例代码
属性MIN_VALUE
属性MAX_VALUE
最小值 最大值
示例代码
属性NaN
表示不是数字
示例代码
方法toFixed
返回一个数字的小数表达
示例代码
方法toExponential
返回一个数字的科学计数法表达
示例代码
方法valueOf
返回一个数字对象的基本数字类型
示例代码
练习-乘法
示例代码
答案-乘法
示例代码
示例 1 : 创建一个数字对象   
示例 2 : 最小值 最大值   
示例 3 : 表示不是数字   
示例 4 : 返回一个数字的小数表达   
示例 5 : 返回一个数字的科学计数法表达   
示例 6 : 返回一个数字对象的基本数字类型   
示例 7 : 练习-乘法   
示例 8 : 答案-乘法   

示例 1 :

创建一个数字对象

edit
可以通过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>
<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>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 2 :

最小值 最大值

edit
Number对象能够取到的最大和最小边界
运行效果
<script> document.write('Number对象的最小值:'+Number.MIN_VALUE); document.write("<br>"); document.write('Number对象的最大值:'+Number.MAX_VALUE); </script>
<script>

 document.write('Number对象的最小值:'+Number.MIN_VALUE);

 document.write("<br>");

 document.write('Number对象的最大值:'+Number.MAX_VALUE);

</script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 3 :

表示不是数字

edit
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>
<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>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 4 :

返回一个数字的小数表达

edit
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>
<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>



源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 5 :

返回一个数字的科学计数法表达

edit
返回一个Number对象的科学计数法表达
运行效果
<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>
<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>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 6 :

返回一个数字对象的基本数字类型

edit
方法 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>
<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>



源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 7 :

练习-乘法

edit  姿势不对,事倍功半! 点击查看做练习的正确姿势
参考阶段性练习1的做法,做一个乘法计算器,但是要求输出结果是科学计数法表示
练习-乘法
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法
账号未激活 账号未激活,功能受限。 请点击激活
运行效果
<head> <meta http-equiv="Content-Type" content="text/html; charset=GB2312"> </head> <style> input{ width:50px; } </style> <script> function calc(){ var num1= document.getElementById("num1").value; var num2= document.getElementById("num2").value; num1 = parseFloat(num1); num2 = parseFloat(num2); var result = num1*num2; var num = new Number(result); document.getElementById("result").value=num.toExponential(); } </script> <input type="text" id="num1"> * <input type="text" id="num2" > = <input type="text" id="result" > <input type="button" value="运算" onclick="calc()">


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2021-03-26 看了半天,终于明白了,js为啥不引入“类”的概念呀?
镜子里的笑脸

我是从前端开始学的,没学过前面的Java,但以前学过c++,这里的对象类似c++的类和对象,但js全都叫对象,这就很懵逼了!!!应该解释一下什么叫类,什么叫类的对象。







回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2021-03-26 答案
镜子里的笑脸




答案
加载中
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>乘法计算器</title>
    <style>
        .d1{
            width:500px;
            margin:auto;
        }
        input[type=text]{
            width:50px
        }
    </style>
</head>
<body>
<div class="d1">
    <input type="text" value="1" id="n1">
    <span>*</span>
    <input type="text" value="2" id="n2">
    <span>=</span>
    <input type="text" value="" id="n3">
    <input type="button" value="运算" onclick="add()">
</div>

<script>
    function add()
    {
        var a,b,c,d;
        var e=new Number("0")
        a=document.getElementById("n1").value;
        c=Number(a);
        b=document.getElementById("n2").value;
        d=Number(b);
        if (c==NaN || d==NaN || a=="" || d=="")
        {
            document.getElementById("n3").value=NaN;
        }else
        {
            e=c*d;
            document.getElementById("n3").value=e.toExponential();
        }
    }
</script>

</body>
</html>

							





回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2021-03-22 我来试一下
2020-10-21 写一个
2020-10-21 我也来写一个


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 11 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 前端部分-JavaScript-数字 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 496725845
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图