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 += ' ';
}
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 += ' ';
}
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 += ' ';
}
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
- 实参的数量大于形参的数量时,会自动忽略多余的实参
浙公网安备 33010602011771号