内置对象
JS 的对象分三种:自定义对象,内置对象,浏览器对象;前两种是JS的基础内容,第三个是JS独有的
1.内置对象:是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的的功能(属性和方法)
查找文档,用MDN来查询 内置对象,可以看内置对象的属性和方法
学习内置对象中的方法:
- 查阅该方法的功能
- 查看里面参数的意义和类型
- 查看返回值的意义和类型
- 通过demo进行测试
2.Math对象
- Math 是一个内置对象,它拥有一些数学常数属性和数学函数方法
- Math 不是一个构造器(构造函数)就不需要new来调用,Math 的所有属性与方法都是静态的。引用圆周率的写法是 Math.PI,调用正余弦函数的写法是 Math.sin(x),x 是要传入的参数。
1. Math.max() 和 Math.min()
1. 参数:一组数值
如果没有参数,则结果为 - Infinity
2. 返回值:
<script>
console.log(Math.max(1,99,'nihao'));//NaN
console.log(Math.max());//-Infinity
console.log(Math.max(1, 3, 2));//3
</script>
3.利用对象封装自己的数学对象,里面有PI 属性,最大值和最小值方法
var myMath = {
PI:3.1459,
max:function(){//不确定要比较多少个数值中的最大值时,调用伪数组arguments
var max = arguments[0];
for(var i=1;i<arguments.length;i++){
if(arguments[i]>max){
max=arguments[i];
}
}
return max;
}
//不要忘记属性与方法之间用逗号隔开
,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,2,3));
console.log(myMath.min(1,2,3));
2. Math.floor() 向下取整
3. Math. ceil() 向 上取整
4. Math.round() 四舍五入取整
5. Math. abs() 求绝对值
console.log(Math.floor(1.5));//1
console.log(Math.floor(1.9));//1
console.log(Math.ceil(2.1));//3
console.log(Math.ceil(2.9));//3
console.log(Math.round(3.5));//4
console.log(Math.round(3.9));//4
console.log(Math.round(-1.1));//-1
console.log(Math.round(-1.5));//-1
console.log( Math. abs(-1));//1
console.log(Math. abs('-1'));//1
//此处有隐式转换,把字符串型的-1转换成数字型
6.Math.random() 求随机数
function getRandom() {
return Math.random();
}
<script>
// 要调用Math.floor(Math.random()*(max-min+1))+min
function getRandom(min,max){
return Math.floor(Math.random()*(max-min+1))+min;
}
console.log(getRandom(1,10));
// 例如随机点名
var arr=['小小','童童','大大','aiai','asas','asoaso'];
console.log(arr[getRandom(0,arr.length-1)]);
//将各个同学的姓名保存在数组中,是对数组的索引进行求随机数,注意从0开始,到数组长度减1
</script>
-
猜数字游戏:
要求:程序随机生成一个1到10之间的数字,并让用户输入一个数字
若大于该数字,就提示,数字大了,继续猜
若小于该数字,就提示,数字小了,继续猜
若等于该数字,就提示猜对了,结束程序
<script>
// 分析:
// 1.要生成随机数调用Math.random()方法中的返回两个数中之间的随机整数,并且包含这两个整数
// 要调用Math.floor(Math.random()*(max-min+1))+min
// 2. 一直猜到正确为止,用到循环,此处用while循环简单,那循环条件,需要保证一直猜,只到正确,才退出
// 3. 用到if else if 多分支语句来判断大于,小于,等于
function getRandom(min,max){
return Math.floor(Math.random()*(max-min+1))+min;
}
var random = getRandom(1,10);
while(true){//此处先使循环是死循环
var num = prompt('请输入1~10的数字:');
if(num>random){
alert('你猜大了');
}
else if(num<random){
alert('你猜小了');
}
else{
alert('你猜对了');
break;//一定要结束此循环
}
}
</script>