JavaScript基础第06天【笔记+代码】


昨日复习

  • 函数中使用 arguments可以不使用形参得到实参
  • 全局作用域中声明的变量称为 全局变量
  • 函数的两种创建方式是 函数表达式 function关键词件
  • 作用域中的代码在执行之前浏览器会把 变量声明函数声明 提前执行
  • 构造函数的功能是 创建对象
  • 构造函数中this指向 函数内部创建的对象
  • 构造函数调用时必须是被关键词 new 调用

1. 内置对象

  • JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象
  • 前面两种对象是JS 基础 内容,属于 ECMAScript; 第三个浏览器对象属于我们JS 独有的, 我们JS API 讲解
  • 内置对象 就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)
  • 内置对象最大的优点就是帮助我们快速开发
  • JavaScript 提供了多个内置对象:Math、 Date 、Array、String等

2. 查文档

2.1 MDN

学习一个内置对象的使用,只要学会其常用成员的使用即可,我们可以通过查文档学习,可以通过MDN/W3C来查询。

Mozilla 开发者网络(MDN)提供了有关开放网络技术(Open Web)的信息,包括 HTML、CSS 和万维网及HTML5 应用的 API。

MDN: https://developer.mozilla.org/zh-CN/

2.2 如何学习对象中的方法

  1. 查阅该方法的功能
  2. 查看里面参数的意义和类型
  3. 查看返回值的意义和类型
  4. 通过 demo 进行测试

3. Math对象

3.1 Math概述

Math 对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整、最大值等)可以使用 Math 中的成员。

Math.PI // 圆周率
Math.floor() // 向下取整
Math.ceil() // 向上取整
Math.round() // 四舍五入版 就近取整 注意 -3.5 结果是 -3 
Math.abs() // 绝对值
Math.max()/Math.min() // 求最大和最小值

注意:上面的 方法必须带括号

01 - Math对象最大值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>01 - Math对象最大值</title>
    <script>
        // Math数学对象 不是一个构造函数 ,所以我们不需要new 来调用 而是直接使用里面的属性和方法即可
        console.log(Math.PI); // 一个属性 圆周率 3.141592653589793
        console.log(Math.max(1, 99, 3)); // 99
        console.log(Math.max(-1, -10)); // -1
        console.log(Math.max(1, 99, 'bing')); // NaN
        console.log(Math.max()); // -Infinity
    </script>
</head>
<body>

</body>
</html>

02 - 封装自己的数学对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>02 - 封装自己的数学对象</title>
    <script>
        // 利用对象封装自己的数学对象  里面有 PI 最大值和最小值
        var myMath = {
    
            PI: 3.141592653,
            max: function() {
    
                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); // 3.141592653
        console.log(myMath.max(1, 5, 9)); // 9
        console.log(myMath.min(1, 5, 9)); // 1
    </script>
</head>
<body>

</body>
</html>

03 - Math绝对值和三个取整方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>03 - Math绝对值和三个取整方法</title>
    <script>
        // 1. 绝对值方法
        console.log(Math.abs(1)); // 1
        console.log(Math.abs(-1)); // 1
        console.log(Math.abs('-1')); // 1 隐式转换 会把字符串型 -1 转换为数字型
        console.log(Math.abs('bing')); // NaN 

        // 2. 三个取整方法
        // (1) Math.floor()   地板 向下取整  往最小了取值
        console.log(Math.floor(1.1)); // 1
        console.log(Math.floor(1.9)); // 1
        // (2) Math.ceil()   ceil 天花板 向上取整  往最大了取值
        console.log(Math.ceil(1.1)); // 2
        console.log(Math.ceil(1.9)); // 2
        // (3) 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
    </script>
</head>
<body>

</body>
</html>

04 - Math对象随机数方法

3.2 随机数方法 random()

random() 方法可以随机返回一个小数,其取值范围是 [0,1),左闭右开 0 <= x < 1

得到一个两数之间的随机整数,包括两个数在内

function getRandom(min, max) {
   
	return Math.floor(Math.random() * (max - min + 1)) + min; 
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>04 - Math对象随机数方法</title>
    <script>
        // 1.Math对象随机数方法   random() 返回一个随机的小数  0 =< x < 1
        // 2. 这个方法里面不跟参数
        // 3. 代码验证 
        console.log(Math.random()); 
        // 4. 我们想要得到两个数之间的随机整数 并且 包含这2个整数
        // 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)); 
        // 5. 随机点名  
        var arr = ['张三', '张三丰', '张三疯子', '李四', '李思思', '冰冰'];
        // console.log(arr[0]);
        console.log(arr[getRandom(0, arr.length - 1)]);
    </script>
</head>
<body>

</body>
</html>

05 - 猜数字游戏

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>05 - 猜数字游戏</title>
    <script>
        // 猜数字游戏
        // 1.随机生成一个1~10 的整数  我们需要用到 Math.random() 方法。
        // 2.需要一直猜到正确为止,所以需要一直循环。
        // 3.while 循环更简单
        // 4.核心算法:使用 if  else if 多分支语句来判断大于、小于、等于。
        function getRandom(min, max) {
    
            return Math.floor(Math.random() * (max - min + 1)) + min;
        }
        var random = getRandom(1, 10);
        var count = 0;
        while (true) {
     // 死循环
            var num = prompt('你来猜? 输入1~10之间的一个数字');
            if (num > random) {
    
                alert('你猜大了');
            } else if (num < random) {
    
                alert('你猜小了');
            } else {
    
                alert('你好帅哦,猜对了');
                break; // 退出整个循环结束程序
            }
            count++;
            if(count == 3) {
    
                alert('机会用尽');
                break;
            }

        }
        // 要求用户猜 1~50之间的一个数字 但是只有 10次猜的机会
        random = getRandom(1,50);
        for(var i = 1; i <= 10; i++) {
    
            num = prompt('你来猜?输入1-50之间的一个数字');
            if(num > random) {
    
                alert('你猜大了');
            } else if (num < random) {
    
                alert('你猜小了');
            } else {
    
                alert('你好棒哦,猜对了,用了' + i + '次机会');
                break;
            }
            if(i == 10) {
    
                alert('机会用尽'
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值