一、JsNumber函数的概述
function JsNumber(num){ this.num=num }
JsNumber是JavaScript的一个构造函数,它可以将一个字符串或数字类型的参数转换为一个JsNumber对象。该对象具有执行数学运算的方法,例如随机数生成、数值四舍五入、最大/最小值等计算。
以下是调用JsNumber函数的示例:
let num1=JsNumber(5) let num2=JsNumber('18') console.log(num1.num) //5 console.log(num2.num) //18
二、JsNumber函数生成随机数
JsNumber函数可以生成一个给定范围内的随机数。下面是代码示例:
JsNumber.prototype.randomNumber=function(min,max){ return Math.floor(Math.random()*(max-min+1)+min) } let num3=JsNumber(0) console.log(num3.randomNumber(1,10)) //生成1到10之间的随机整数
以上代码中,我们将randomNumber函数添加到了JsNumber的原型上,表示所有JsNumber对象都可以调用该函数。使用Math.floor和Math.random函数可以生成给定范围内的随机整数。
三、JsNumber函数的数值四舍五入
JsNumber函数可以将一个数值四舍五入到指定的小数位数。下面是代码示例:
JsNumber.prototype.round=function(n=0){//n为小数位数,默认为0,即整数 return Math.round(this.num*Math.pow(10,n))/Math.pow(10,n) } let num4=JsNumber(3.1415926) console.log(num4.round(2)) //3.14
以上代码中,我们将round函数添加到了JsNumber的原型上,表示所有JsNumber对象都可以调用该函数。使用Math.pow函数表示10的n次方,将数值四舍五入到指定的小数位数。
四、JsNumber函数求最大/最小值
JsNumber函数可以在给定的一组数值中找到最大/最小值。下面是代码示例:
JsNumber.prototype.max=function(){ let arr=[...arguments,this.num] return Math.max.apply(null,arr) } JsNumber.prototype.min=function(){ let arr=[...arguments,this.num] return Math.min.apply(null,arr) } let num5=JsNumber(80) console.log(num5.max(90,70,100)) //100 console.log(num5.min(90,70,100)) //70
以上代码中,我们将max和min函数添加到了JsNumber的原型上,表示所有JsNumber对象都可以调用该函数。使用ES6中的扩展运算符…将this.num和传入的参数组合成一个数组,然后使用apply函数将数组元素作为参数传递给Math.max和Math.min函数。
五、JsNumber函数的进制转换
JsNumber函数可以将一个十进制数值转换为其他进制,例如二进制、八进制和十六进制。下面是代码示例:
JsNumber.prototype.toBinary=function(){ return (this.num>>>0).toString(2) } JsNumber.prototype.toOctal=function(){ return (this.num>>>0).toString(8) } JsNumber.prototype.toHex=function(){ return (this.num>>>0).toString(16) } let num6=JsNumber(168) console.log(num6.toBinary()) //10101000 console.log(num6.toOctal()) //250 console.log(num6.toHex()) //a8
以上代码中,我们将toBinary、toOctal和toHex函数添加到了JsNumber的原型上,表示所有JsNumber对象都可以调用这些函数。使用toString函数将十进制数值转换为其他进制数值。
原创文章,作者:MDGJ,如若转载,请注明出处:https://www.506064.com/n/136694.html