<script> // 1.声明了一个age 的变量 var age; // 2. 赋值 把值存入这个变量中 age = 18; // 3.输出结果 console.log(age); // 4.变量的初始化 var myname = 'pink老师'; console.log(myname); </script>
1 2 3 4 5 6 7 8 9 10 11 12
<script> var myname = '旗木卡卡西'; var address = '火影村'; var age = 30; var email = 'kakaxi@itcast.cn'; var gz = 2000; console.log(myname); console.log(address); console.log(age); console.log(email); console.log(gz); </script>
<script> // int num = 10; java // var num; // 这里的num 我们是不确定属于哪种数据类型的 var num = 1; // num 属于数字型 // js 的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的 var str ='pink'; // str 字符串型 // js是动态语言 变量的数据类型是可以变化的 var x = 10; // x 是数字型 x ='pink'; // x 字符串型 </script>
<script> var flag = true; // flag 布尔型 var flag1 = false; // flag1 布尔型 console.log(flag + 1); // true 参与加法运算当1来看 console.log(flag1 + 1); // false 参与加法运算当 0来看 // 如果一个变量声明未赋值 就是 undefined 未定义数据类型 var str; console.log(str); var variable = undefined; console.log(variable + 'pink') //undefinedpink console.log(variable + 1); // NaN undefined 和数字相加 最后的结果是 NaN // null 空值 var space = null; console.log(space + 'pink'); // nullpink console.log(space + 1); // 1 </script>
typeof检测变量数据类型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
<script> var num = 10; console.log(typeof num); // number var str = 'pink'; console.log(typeof str); // string var flag = true; console.log(typeof flag); // boolean var vari = undefined; console.log(typeof vari); // undefined var timer = null; console.log(typeof timer); // object // prompt 取过来的值是 字符型的 var age = prompt('请输入您的年龄'); console.log(age); console.log(typeof age); </script>
<script> // 1.想要一个变量自己加1 num = num + 1 比较麻烦 var num = 1; num = num + 1; // ++num num = num + 1; console.log(num); // 3 // 2.前置递增运算符 ++ 写在变量的前面 var age = 10; ++age; // 类似于 age = age + 1 console.log(age); // 3.先加1,后返回值 var p = 10; console.log(++p + 10); </script>
注意: 递增和递减运算符必须和变量配合使用
后置递增运算符
1 2 3 4 5 6 7 8 9
<script> var num = 10; num++; // num = num + 1 ++num; console.log(num); // 1.前置自增和后置自增如果单独使用 效果是一样的 // 2. 后置自增 口诀: 先返回原值 后自加 var age = 10; console.log(age++ + 10); console.log(age); </script>
递增运算符练习
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<script> var a = 10; ++a; // ++a 11 a = 11 var b = ++a + 2; // a = 12 ++a = 12 console.log(b); // 14 var c = 10; c++; // c++ 11 c = 11 var d = c++ + 2; // c++ = 11 c = 12 console.log(d); // 13 var e = 10; var f = e++ + ++e; // 1. e++ = 10 e = 11 2.e = 12 ++e = 12 console.log(f); // 22 </script>
<script> // for 循环可以执行相同的代码 for (var i = 1; i <= 10; i++) { console.log('我错了'); } // 我们可以让用户控制输出的次数 var num = prompt('请您输入次数'); for (var i = 1; i <= num; i++) { console.log('我错了'); } </script>
for循环重复执行不同代码
for 循环还可以重复不同的代码,这主要是因为使用了计数器,计数器在每次循环过程中都会有变化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
<script> // for 循环可以重复执行不同的代码 因为我们有计数器变量 i 的存在 i每次循环值都会变化 // 我们想要输出1个人 1~100岁 // for (var i = 1; i <= 100; i++) { // console.log('这个人今年'+ i +'岁了'); // }
for (var i = 1; i <= 100; i++) { if (i == 1) { console.log('这个人今年1岁了,他出生了'); } elseif (i == 100) { console.log('这个人今年100岁了,他死了'); } else { console.log('这个人今年'+ i +'岁了'); } } </script>
for循环重复某些操作
案例1: 求1-100之间所有整数的累加和
1 2 3 4 5 6 7 8 9 10 11 12 13
<script> // for 循环重复执行某些操作 比如说我们做了100次加法运算 // 求 1~100 之间的整数累加和 // 需要循环100次,我们需要一个计数器 i // 我们需要一个存储结果的变量 sum ,但是初始值一定是 0 // 核心算法: 1 + 2 + 3 + 4 .... , sum = sum + 1; var sum = 0; // 求和 的变量 for (var i = 1; i <= 100; i++) { // sum = sum + 1; sum += i; } console.log(sum); </script>
<script> // 1.求1-100之间所有数的平均值 需要一个 sum 和的变量 还需要一个平均值 average 变量 var sum = 0; var average = 0; for (var i = 1; i <= 100; i++) { sum = sum + i; } average = sum / 100; console.log(average);
// 2.求1-100之间所有偶数和奇数的和 我们需要一个偶数的和变量 even 还需要一个奇数 odd var even = 0; var odd = 0; for (var i = 1; i <= 100; i++) { if ( i % 2 == 0) { even = even + i; } else { odd = odd + i; } } console.log('1~100 之间所有的偶数和是'+ even); console.log('1~100 之间所有的奇数和是'+ odd);
// 3.求1-100之间所有能被3整除的数字的和 var result = 0; for (var i = 1; i <= 100; i++) { if (i % 3 == 0) { result = result + i; } } console.log('1~10之间能够被3整数的数字的和是:' + result); </script>
求学生成绩案例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<script> // 弹出输入框输入总的班级人数(num) // 依次输入学生的成绩 ( 保存起来 score), 此时我们需要用到 // for 循环,弹出的次数跟班级总人数有关系 条件表达式 i <= num // 进行业务处理: 计算成绩。 先求总成绩(sum), 之后求平均成绩 (average)\ // 弹出结果 var num = prompt('请输入班级的总人数:'); // num 总的班级人数 var sum = 0; // 求和的变量 var average = 0; // 求平均值的变量 for (var i = 1; i <= num; i++) { var score = prompt('请您输入第'+ i +'个学生成绩'); // 因为从prompt取过来的数据是 字符串型的需要转换为数字型 sum = sum + parseFloat(score); } average = sum / num; alert('班级总的成绩是'+ sum); alert('班级平均分是: '+ average); </script>
一行打印五颗星星
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
<script> // 一行打印五个星星 // console.log('⭐⭐⭐⭐⭐'); // for (var i = 1; i <= 5; i++) { // console.log('⭐'); // } // var str = ''; // for (var i = 1; i <= 5; i++) { // str = str + '⭐'; // } // console.log(str); var num = prompt('请输入星星的个数'); var str = ''; for (var i = 1; i <= num; i++) { str = str + '⭐' } console.log(str); </script>
双重for循环执行过程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
<script> // 1. 双重for循环 语法结构 // for (外层的初始化变量; 外层的条件表达式; 外层的操作表达式) { // for (里层的初始化变量; 里层的条件表达式; 里层的操作表达式) { // 执行语句; // } // } // 2.我们可以把里面的循环看做是外层循环的语句 // 3.外层循环循环一次, 里面的循环执行全部 // 4.代码验证 for (var i = 1; i <= 3; i++) { console.log('这是外层循环第' + i + '次'); for (var j = 1; j <= 3; j++) { console.log('这是里层的循环第' + j + '次'); } } </script>
打印5行5列的星星
1 2 3 4 5 6 7 8 9 10 11 12
<script> // 打印五行五列星星 var str = ''; for (var i = 1; i <= 5; i++) { // 外层循环负责打印五行 for (var j = 1; j <= 5; j++) { // 里层循环负责一行打印五个星星 str = str + '⭐'; } // 如果一行打印完毕5个星星就要另起一行 加 \n str = str + '\n'; } console.log(str); </script>
打印n行n列的星星
1 2 3 4 5 6 7 8 9 10 11 12 13
<script> // 打印n行n列的星星 var rows = prompt('请您输入行数:'); var cols = prompt('请您输入列数:'); var str = ''; for (var i = 1; i <= rows; i++) { for (var j = 1; j <= cols; j++) { str = str + '⭐'; } str += '\n'; } console.log(str); </script>
打印倒三角形案例
1 2 3 4 5 6 7 8 9 10 11
<script> // 打印倒三角形案例 var str = ''; for(var i = 1; i <= 10; i++) { // 外层循环控制行数 for (var j = i; j <= 10; j++) { // 里层循环打印的个数不一样 j = i str = str + '⭐'; } str += '\n'; } console.log(str); </script>
九九乘法表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<script> // 九九乘法表 // 一共有9行,但是每行的个数不一样,因此需要用到双重 for 循环 // 外层的 for 循环控制行数 i ,循环9次 ,可以打印 9 行 // 内层的 for 循环控制每行公式 j // 核心算法: 每一行 公式的个数正好和行数一致, j <= i; // 每行打印完毕,都需要重新换一行 var str = ''; for (var i = 1;i <= 9; i++) { // 外层循环控制行数 for (var j = 1; j<= i; j++) { // 里层循环控制每一行的个数 j <= i // 1 x 2 = 2 // str = str + '⭐'; str += j + 'x' + i + '=' + i * j + '\t'; } str += '\n'; } console.log(str); </script>
while循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<script> // 1.while 循环语法结构 while 当...的时候 // while (条件表达式) { // // 循环体 // 2.执行思路 当条件表达式结果为true 则执行循环体 否则 退出循环 // 3.代码验证 var num = 1; while (num <= 100) { console.log('好啊有'); num++; } // 4。里面应该也有计数器 初始化变量 // 5.里面应该也有操作表达式 完成计数器的更新 防止死循环 </script>
<script> // while循环案例 // 1.打印人的一生,从1岁到100岁 var i = 1; while (i <= 100) { console.log('这个人今年' + i + '岁了'); i++; } // 2.计算 1 ~ 100 之间所有整数的和 var sum = 0; var j = 1; while (j <= 100) { sum += j; j++; } console.log(sum);
// 3.弹出一个提示框,你爱我吗? 如果输入我爱你,就提示结束,否则,一直询问 var message = prompt('你爱我吗?'); while (message !== '我爱你') { message = prompt('你爱我吗?'); } alert('我也爱你啊!'); </script>
do while循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<script> // 1.do while 循环 语法结构 do { // 循环体 } while(条件表达式) // 2. 执行思路 跟while不同的地方在于do while先执行一次循环体 在判断条件 如果条件表达式结果wei // 真,则继续执行循环体,否则退出循环 // 3. 代码验证 var i = 1; do { console.log('how are you?'); i++; } while (i <= 100) // 4.我们的do while 循环体至少执行一次 </script>
// 1.打印人的一生,从1岁到100岁 var i = 1; do { console.log('这个人今年' + i + '岁了'); i++; } while (i <=100) // 2. 计算 1 ~ 100 之间所有整数的和 var sum = 0; var j = 1; do { sum += j j++; } while (j <= 100) console.log(sum);
// 3.弹出一个提示框,你爱我吗? 如果输入我爱你,就提示结束,否则,一直询问 do { var message = prompt('你爱我吗?'); } while (message !== '我爱你') alert('我也爱你啊'); </script>
JS中循环有 for、while、 do while 三个循环很多情况下都可以相互替代使用 while 和 do…while 执行顺序不一样,while先判断后执行,do…while先执行一次,再判断执行 while 和 do…while 执行次数不一样,do…while 至少会执行一次循环体,而while 可能一次也不执行
<script> // continue 关键字 退出本次(当前次的循环) 继续执行剩余次数循环 for (var i = 1; i <= 5;i++) { if (i == 3){ continue; // 只要遇见 continue就退出本次循环 直接跳到 i++ } console.log('我正在吃第' + i + '个包子'); } // 1. 求1~100之间 除了能被7整除之外的整数和 var sum = 0; for (var i = 1; i <= 100; i++) { if (i % 7 == 0) { continue; } sum += i; } console.log(sum); </script>
break关键字
break 关键字用于立即跳出整个循环(循环结束)
1 2 3 4 5 6 7 8 9
<script> // break for (var i = 1; i <= 5; i++) { if (i == 3) { break; } console.log('我正在吃第' + i + '个包子') } </script>