1、内置对象
-
JavaScript中的对象分为3种:自定义对象、内置对象、浏览器对象
-
自定义对象和内置对象是js基础内容,属于ECMAScript:第三个浏览器对象是js特有的,后面再学
-
内置对象就是js语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或者是最基本而必要的功能(属性和方法)。
-
内置对象最大的优点就是可以帮助我们快速开发
-
JavaScript提供了多个内置对象:Math、Date、Array、String等
2、查文档
2.1 MDN
2.2 如何学习对象中的方法
- 查阅该方法的功能
- 查看里面参数的意义和类型
- 查看返回值的意义和类型
- 通过demo进行测试(试验一下)
3、Math对象
Math 不是一个构造函数。
3.1 案例:封装自己的数学对象
利用对象封装自己的数学对象,里面有PI属性,最大值和最小值方法。
<script>
var myMath = {
PI: 3.1415926,
max: function() {
var max = arguments[0];
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
},
min: function() {
var min = arguments[0];
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] < min) {
min = arguments[i];
}
}
return min;
}
}
console.log(myMath.PI);
console.log(myMath.max(1, 5, 9));
console.log(myMath.min(1, 5, 9));
</script>
3.2 Math概述
Math.PI //圆周率
Math.floor() //向下取整
Math.ceil() //向上取整
Math.round() //四舍五入版 就近取整 注意 -3.5 结果是-3
Math.abs() //绝对值
Math.max()/Math.min() //求最大值和最小值
<script>
//求绝对值
console.log(Math.abs(1)); //1
console.log(Math.abs(-1)); //1
console.log(Math.abs('-1')); //1 隐式转换
console.log(Math.abs('pink')); //NaN
//向下取整
console.log(Math.floor(1.1)); //1
console.log(Math.floor(1.9)); //1
//向上取整
console.log(Math.ceil(1.1)); //2
console.log(Math.ceil(1.9)); //2
//四舍五入
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 重要!易错!.5往大了取,-1比-2大所以取-1
</script>
3.3 随机数方法 random()
- Math.random() 返回一个随机的小数(0到1之间)
- 这个方法里面不跟参数
<script>
//定义得到两个数之间的随机整数并且包含这两个数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
//随机点名
var arr = ['张三', '张三丰', '李四', '王五', '麻子'];
console.log(arr[getRandom(0, arr.length - 1)]);
</script>
- 更多请查阅MDN
3.4 案例:猜数字游戏
程序随机生成一个1到10的整数,并让用户输入一个数字
1、如果大于该数字,就提示“数字大了,继续猜”
2、如果小于该数字,就提示“数字小了,继续猜”
3、如果等于该数字,就提示“猜对了”,结束程序
<script>
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var num = getRandom(1, 10);
var userNum = prompt('请输入你猜的数字(1到10之间):');
while (true) {
if (userNum