1.利用对象封装自己的数学对象,里面有PI 和最大是最小值
// 封装一个myMath的对象
var myMath = {
// PI属性
PI:3.141592,
// max方法 参数不确定
max: function(){
var max = arguments[0]
for (var i = 1 ; i < arguments.length ;i++){
if (arguments[i] > max){
max = arguments[i]
}
}
return max
},
// min 方法
min: function(){
var min = arguments[0]
for (var i = 1 ; i < arguments.length ;i++){
if (arguments[i] < min){
min = arguments[i]
}
}
return min
}
}
console.log(myMath.PI)
console.log(myMath.max(1,5,9)); // 9
console.log(myMath.min(1,5,9)); // 1
2.math 的四个取整数方法
:1.abs的隐式转换 2.round 的 .5 取大
// 2.1 Math.abs() 绝对值
console.log(Math.abs(1)) // 1
console.log(Math.abs(-1)) // -1
console.log(Math.abs("-1")) // 1 隐式转换,会把字符串的-1转换为数字型
// 2.2 Math.floor() 向下取整
console.log(Math.floor(1.1)); //1
console.log(Math.floor(1.9)); //1
//2.3 Math.ceil() 往上取整
console.log(Math.ceil(1.1)); //2
console.log(Math.ceil(1.9)); //2
//2.4 Math.round() 四舍五入 .5的时候值往大了取
console.log(Math.round(1.1)); //1
console.log(Math.round(1.5)); //2
console.log(Math.round(1.9)); //2
console.log(Math.round(-1.1)); // -1
console.log(Math.round(-1.5)); //-1
3.Math.random()随机数字的方法
(包含最小值和最大值) Math.random() * (max - min + 1)) + min
// 3.1 返回一个随机的小数 [0,1)
// 3.2 里面无参数
console.log(Math.random())
// 3.3得到两个数的随机整数(包含最小值和最大值) Math.random() * (max - min + 1)) + min
function getRanDom(min,max){
return Math.floor((Math.random() * (max - min + 1)) + min)
}
console.log(getRanDom(1,10)) //从1-56中随机取整数
--------------------------------------------------------------------------
// 3.4 例子 随机点名
var nameArr = ["张三","张三丰","张三疯子","李四","李思思","胖虎"]
// console.log(nameArr[0]);
console.log(nameArr[getRanDom(0,nameArr.length-1)]);
4.猜数字游戏
1)不限次数
// 3.5 猜数字游戏
/*
随机生成一个1-10的数字,让用户输入一个数字
1.如果大于该数字,就提示数字大,则继续
2.如果小于该数字,就提示数字小,则继续
3.如果等于该数字,就提示猜对,则结束程序
*/
function getRanDom(min,max){
return Math.floor((Math.random() * (max - min + 1)) + min)
}
//把随机生成的数用一个变量记录
var random = getRanDom(1,56)
// 用while循环进行判断 不限制用户猜的次数
while(true){
//记录用户输入的数字
var Num = prompt("请输入1-10中间的数字")
if(Num > random){
alert("你猜大了")
}
else if (Num < random) {
alert("你猜小了")
} else{
alert("你猜对了")
break
}
}
2)限次数
function getRanDom(min,max){
return Math.floor((Math.random() * (max - min + 1)) + min)
}
//把随机生成的数用一个变量记录
var random = getRanDom(1,56)
// 用户猜5次则退出
for(var i = 1 ; i<=5;i++){
var Num = +prompt("请输入1-56中间的数字")
if(i<=5){
if(Num > random){
alert("你猜大了")
}
else if (Num < random) {
alert("你猜小了")
} else{
alert("你猜对了")
break
}
}
else{
alert("次数已经用完")
break
}
}