731笔记(断点;循环;循环嵌套;函数初识)

7/31

浏览器中断点

检查——sources——选中文件——需要执行的代码行前点选——然后刷新页面-可以开始执行

再次点选执行的代码行前——然后点击停止——停止执行

补充知识

  • null,空字符串,undefined,单独的0在表达式里会隐式转换为false;有内容就为true
var aa =0;   // 0  "" undefined  null  false
if(aa){   //aa 隐式转换为false
    console.log("aa")
}
//什么也不会输出,这个if语句不会被执行
//但是aa的值只要有内容,这个条件就为真,就会执行
  • .toFixed(数字) 保留几位小数
console.log(sum.toFixed(2))    ---保留两位小数

循环案例

1~100之间的求和
<script>
        var sum=0;
        for(i=1;i<=100;i++){
            sum+=i;
        }
        console.log(sum)
    </script>
计算器
<script>
    while (true) {        //while(true)让这个循环一直循环下去,死循环,只有break才能打破
        var iOne = parseInt(prompt('请输入第一个整数'));
        var ch = prompt('请输入 + - * / %的运算符');
        var iTwo = parseInt(prompt('请输入第二个整数'))
        switch (ch) {
                case '+':
                    alert(iOne + '+' + iTwo + '=' + (iOne + iTwo));
                    break;
                    alert(iOne + '-' + iTwo + '=' + (iOne - iTwo));
                    break;
                    alert(iOne + '*' + iTwo + '*' + (iOne + iTwo));
                    break;
                    alert(iOne + '/' + iTwo + '/' + (iOne + iTwo));
                    break;
                    alert(iOne + '%' + iTwo + '=' + (iOne % iTwo));
                    break;
            }
            var onOff = parseInt(prompt("1:继续;0:退出\n请选择"));
            if (!onOff) {   //1的时候!onOff是0,这个if语句不执行;0的时候!onOff是1,执行语句,break跳出while(true)的循环
                break;
            }
        }
    </script>

知识点:

1.while(true):让这个循环一直循环下去,死循环,只有break才能打破

2.if (!onOff) :1的时候 !onOff是0,这个if语句不执行;0的时候 !onOff是1,执行语句,break跳出while(true)的循环

输出100以内不带7的数字
  <script>
      for (var i = 1; i <= 100; i++) {
          if (!(i % 7 === 0 || i % 10 === 7 || parseInt(i / 10) === 7)) {
              document.write(i + "  ")
            }
        }
   /script>
输出m至n的自然数中的偶数和与奇数和 并统计偶数与奇数的个数分别是多少
<script>
	var m = parseInt(prompt("请输入一个整数"));
    var n = parseInt(prompt("请输入一个整数"));
	var evenSum = 0, oddSum = 0, evenCount = 0, oddCount = 0;
	
    // 正常m应该小于n,假如输入的整数m大于n,则我们需要交换m和n的值
     if (m > n) {
            // 交换两个变量的值
            var t = m;
            m = n;
            n = t;
        }

     // 循环m到n之间的所有数
      for (i = m; i <= n; i++) {
            if (i % 2) {
                //  奇数
                oddSum += i;
                oddCount++;
            } else {
                // 偶数
                evenSum += i;
                evenCount++;
            }
        //这里有简写:当i整除2的时候,i%2=0,第一个if语句无法执行,直接跳到else;当i不能整除2时,i%2有值,则为真,执行第一个if语句。即第一个if语句判断的是奇数,第二个if语句判断的是偶数。
        }
        console.log("偶数和" + evenSum + "\n奇数和" + oddSum + "\n偶数个数" + evenCount + "\n奇数个数" + oddCount);
        </script>
入职薪水10k,每年涨幅5%,50年后工资是多少
<script>
        for (i = 2, sum = 10; i <= 50; i++) {
            sum *= 1.05
        }
        console.log(sum.toFixed(2))
    </script>

循环嵌套

输出三行五列的星号*
    <script>
        var str = ""
        for (var i = 1; i < 4; i++) {     //行
            for (var j = 1; j < 6; j++) {    //列
                str += "*  "
            }
            str += " \n"
        }
        document.write(str)
        console.log(str)
    </script>
输出123412341234
<script>
	var str = ""
        for (var i = 1; i < 4; i++) {

            // 1234
            for (var j = 1; j < 5; j++) {
                str += j
            }
            // 
        }
     console.log(str)
</script>
输出1234124134
<script>
	var str = ""
         for(var i =1 ;i <4 ;i++){

            // 1234
            for(var j =1; j<5; j++){
                if(i==2&&j==3 || i==3&&j==2){
                    continue
                }
               str += j
            }
         }
   console.log(str)
</script>
输出1111222334444
    <script>
        var str = ""
        for (var i = 1; i < 5; i++) {
            for (var j = 1; j < 5; j++) {
                if (i === 2 && j === 4 || i === 3 && j === 3 || i === 3 && j === 4) {
                    continue;
                }
                str += i;
            }
        }
        document.write(str)
    </script>
输出星号
/*输出
****
***
**
*
*/
<script>
        var str = ""
        for (var i = 1; i < 5; i++) {
            for (var j = 1; j <= 5 - i; j++) {
                str += "* "
            }
            str += ' <br />'
        }
        document.write(str)
    </script>
/* 
输出
   *
  **
 ***
****
*/
  <script>
        var str = ""
        for (var i = 1; i < 5; i++) {
            for (var j = 1; j < 5 - i; j++) {
                str += '&nbsp;';
            }
            for (var k = 1; k <= i; k++) {
                str += "*";
            }
            str += '<br/>'
        }
        document.write(str)
  </script>

知识点:

循环嵌套---外行内列

换行:console.log换行使用 \n;页面内容换行document.write使用标签br/

数字补零操作

//用户输入0-59之间的一个数字,如果数字小于10,就在这个数字前补0,否则不需要操作
 <script>
        //用三目运算符
        var num = prompt("请输入0~59之间的一个数字")
        var res = num < 10 ? '0' + num : num;
        console.log(res);
 </script>

函数

1.什么是函数

将需要反复使用的功能代码分装成独立的模块,这个模块就是函数

2.使用函数的好处

  • 可重复使用
  • 功能代码可控(让它什么时候执行就什么时候执行)

3.函数的分类

  • 内置函数——js给我们提供的函数
  • 自定义函数——自己定义的

4.函数的类型(复杂类型)

Function

5.如何声明函数

5-1.语句定义法(在任意位置都可以调用)——用的更多

    function 函数名([参数]){   //参数可以有也可以没有
            //功能代码(不调用是不会自动执行的)
        }
    //函数声明
    
    ----------------
    function showStar(){
                var str = ""
        for (var i = 1; i < 5; i++) {
            for (var j = 1; j <5-i; j++) {
                str += '&nbsp;';
            }
            for (var k = 1; k <= i; k++) {
                str += "*";
            }
            str += '<br/>'
        }
        document.write(str)
    }
    //不会自动执行代码,需要调用
    
    -----------------
    //调用函数
    showStar()
    //调用可以在函数声明之前,也可以在声明后调用
    

5-2.表达式定义法(先声明后调用)

  var 函数名 = function([参数]){
            //功能代码
        }
  -------------------
  var showStar = function () {
            var str = ""
            for (var i = 1; i < 5; i++) {
                for (var j = 1; j < 5 - i; j++) {
                    str += '&nbsp;';
                }
                for (var k = 1; k <= i; k++) {
                    str += "*";
                }
                str += '<br/>'
            }
            document.write(str)
        }
   //不会自动执行代码,需要调用
   
   ----------------------
    //调用函数
    showStar()
    //调用只能在函数声明之后,先声明后调用,否则会报错
6.如何调用函数(函数不调用不会执行)
  • 一般调用:函数名([参数])——没有参数就不用写括号里的
  • 事件调用:触发事件后调用函数
7.函数的参数

形式参数(形参):定义函数时所传递的参数。形参只能是变量。

实际参数(实参):调用函数时所传递的参数。实参可以是变量,可以是常量,也可以是表达式。

function 函数名(形参){
    //直接使用参数
}
函数名(实参)
---------------------
function 函数名(形参变量1,形参变量2){
    //直接使用参数
}
函数名(实参变量1,实参变量2)
	//形参和实参必须一一对应
---------------------
function sum(a,b){
    console.log(a+b);
}
sum(78,34)
sum(23,90)
sum(45,23)

参数传递

  • 我们只能将实参传递给形参,即单向传递
  • 实参的数量少于形参的数量时,多余的形参的值为undefined
  • 实参的数量大于形参的数量时,会自动忽略多余的实参

posted on 2022-07-31 22:35  星野落  阅读(66)  评论(0)    收藏  举报

导航