JavaScript基础知识(4)

JS-理解math.floor(math.random() * (max - min + 1)) + min的含义 理解math.floor(math.random() * (max - min + 1)) + min的含义 math.floor:向下取整 math.random:伪随机数在范围从0到小于1,也就是说,从0(包括0)往上,但是不包括1(排除1)。简化 0≤math.random<1 。 程序:随机两个数之间的整数,包含这两个数。 理解:举例说明如果 getRandom(7,11),取值也就min=7,max=11; max - min ,也就是11-7=4,这里是说7到11的差... 阅读详情
 回顾:
 方法参数:是方法内处理逻辑必须的数据。参数仅限方法内部使用,方法外无法访问方法的参数变量。参数名称自定义。
 返回值:调用者是否需要获得方法的执行结果决定是否需要返回值。
 function add(a,b){
 var sum=a+b;
 return sum;
 }
 调用方法1:add(5,10);
 调用方法2:
 var a=5;
 var b=10;
 var r=add(a,b);

 方法完成之后,内部作用域及其局部变量都销毁!

 分支结构:
 if结构:1件事,可做可不做;
 if..else..:2件事,必须二选一;
 if...else if...[else...]:多件事,多选一执行。


 正课:
 switch...case...多条分支,根据条件判断,选择执行
 语法:
 switch(表达式){
   case 表达式1:
        代码段1;   //如果表达式的值===表达式1的值
   case 表达式n:
        代码段n;   //如果表达式的值和所有case都不相等
        default:
      默认代码段;
 }

 例:
 var score=parseInt(prompt("请输入分数"));
      switch(true){
    case   score>=90:
       console.log("A");
       break;
    case  score>=80:
       console.log("B");
       break;
    case  score>=60:
       console.log("C");
       break;
    default:
       console.log("D");
 }


 switch...case...运行机制:如果找到与表达式值匹配的case,不但执行当前case下的代码,而且之后所有代码都被触发,不会再判断而直接执行后面所有的代码!

 break:退出当前结构,后面的代码都不会执行。
 当两个条件使用同一个处理的时候,前面的条件后面不需要加break;即多个条件共用同一套执行逻辑时,不加break。

 switch...case...的效率不高,在js中使用的少。要先算出比较比较的条件值,再和条件相比较。

 js中的switch里面的()和case后面的条件,可以放任何东西,不仅仅是数字!这是和其他语言不同的。

 switch表达式和表达式之间的比较,是严格相等,没有自动类型转换!===数值和数据类型都要相等。


 var num=parseInt(prompt("请选择服务种类:"));
 switch(num){
 case 1:
    console.log("余额查询中");
    break;
 case 2:
    console.log("取款进行中");
    break;
 case 3:
    console.log("转账进行中");
    break;
 case 0:
    console.log("退出系统");
    break;
 default:
    console.log("输入有误");
 }

 prompt输进去的都是字符串!!


 循环结构:程序反复执行同一套代码段,但是遇到结束条件会结束执行。如果没有循环结束条件,就会永远循环执行,这叫死循环。

 循环三要素:
 1.循环条件:循环继续执行的条件。一旦循环条件不满足,循环立刻退出。
 2.循环变量:用于循环条件中做判断的变量。循环变量都会向着循环退出的趋势变化(不满足循环条件的趋势)。也叫循环计数器。
 3.循环体:每次循环要做的事情

 while循环:当满足条件时,就继续循环做...事

 语法:
 var 循环变量;
 while(循环条件){
    循环体;
    迭代变化循环变量;
 }

 例:
 var round=0;
 while(round<3){
   if(round==2){
     console.log("晕");
      break;
     }
   console.log("转"+round+"圈");

   round+=1;
 }
 console.log("停车");

 while中何时用break:循环条件不满足之前,希望强行退出循环。
 如何使用break?可以放在任何需要退出循环的位置。

 例:
 var n=10;
    var input= -1;
    while(input!=n&&input!="exit"){
        input=prompt("你猜:");
        if(input!=""){
          if(input=="exit"){
           console.log("放弃了");
           break;
        }else{
          input=parseInt(input);
            if(n>input){
                alert("小了");
            }else if(n<input){
                 alert("大了");
            }else{
                alert("猜对了");
                document.write("正确答案:"+n);
            }
          }
         }else{
             alert("请重新输入");
         }
   }


 取随机数:Math.random():0<=n<1
 取任意min-max之间取随机数公式:parseInt(Math.random()*(max-min+1)+min)
 例:取60到100之间的随机数:
 0<=n<1
 0<=n*41<41
 60<=n*41+60<101
 60<=parseInt(n*41+60)<=100

 parseInt(Math.random()*(max-min+1)+min)



 循环三要素:
 1.循环条件:判断继续循环的条件
 2.循环变量:循环条件中用于比较的变量。--循环计数器
 3.循环体:

 break:退出当前结构,继续运行后续程序

 while:如果第一次循环条件不满足,
 var 循环变量;
 while(循环条件){
   循环体;
   迭代变换循环变量;
 }

 do-while循环:先做,再判断。先执行一次循环体,再判断是否继续!和while循环的差别就是,do-while循环如果循环条件不满足,循环体至少可以执行1次。

 语法:
 var 循环变量;
  do{
   循环体;
   迭代变换循环变量;
  }while(循环条件);

 例:
 var n=10;
 do{
    var input=prompt("你猜");
    if(input=="exit"){
      console.log("放弃了");
      break;
    }else{
      input=parseInt(input);
      if(n>input){alert("小了");
      }else if(n<input){alert("大了");
      }else{alert("猜对了");
      }
    }
 }while(input!=n);


 js的循环语句中,变量声明提前:相同作用域内,var...无论出现在什么位置,解析时,优先提取到js开始位置“声明”!

 但是在方法中,声明的变量不能在其他地方使用,因为不在相同作用域内。
 function fun(){
    var card=10;
 }
 fun();
 console.log(card);  //出错!

 while vs do while:
 如果第一次条件就可能不成立,也想执行一次,必须用do while;如果第一次条件一定满足,do while等效于while。

 for循环语句:完全等效于while循环。
 for循环使用条件:循环变量变化规律固定,循环次数已知/固定。

 for循环语法:
 for(声明并初始化循环变量;循环条件;迭代循环变量){
    循环体;   
 }

 和while循环一样,for循环的迭代循环变量是在循环体之后执行的。

 例:
 var sum=0;
 for(var n=1;n<=100;n++){
    sum+=n;
 }
 console.log(sum);

 for循环是一个结构,不是一个完整的功能,不能和函数那样实现完整的功能。只有function才有作用域,for里面的参数是没有作用域的。

 上述例子可以用下面的写法实现:
 for(var n=1,sum=0;n<=100;sum+=n++);
 console.log(sum);

 可以同时声明多个变量,用逗号隔开;简写循环体到圆括号里面。for循环可以有多种写法的,从而实现更高效率。

 for语句中声明初始化变量是可以拿出来,迭代循环变量也可以拿出来的。但是没有循环变量的循环就是死循环!

 break在任何循环中都可以使用的。

 continue:跳过本轮循环,继续执行下一轮循环;

 例:
 var bao=4;
 for(var box=1;box<=9;box++){
   if(box==bao){
    continue;
   }
   console.log("跳到"+box);
 }

 例:找出2000年以后的5个闰年并输出
 var count=0;
 var year=2001;
 while(count<5){
   if((year%4==0&&year%100!=0)||(year%400==0)){
    console.log(year);
    count++;
   }
   year++;
 }

 上述例子可以用下面的方法实现,year+=4可以提高效率
 var count=0;
 var year=2001;
 while(count<5){
   if((year%4==0&&year%100!=0)||(year%400==0)){
    console.log(year);
    count++;
   }
  if(count>0){
    year+=4;
  }
   year++;
 }


 九九乘法表:
 第一步:做出第9行的:
 var str="";
 for(var a=1;a<=9;a++){
    str+=a+"*9="+(a*9)+" ";     
 }
 console.log(str);

 第二步:从简单办法中找规律:
 for(var n=1;n<=9;n++){
   var str="";
   for(var a=1;a<=n;a++){
    str+=a+"*"+n+"="+(a*n)+" ";     
 }
 console.log(str);
 }

 遇到复杂的问题:先用简单办法做最简单的事情,从简单办法中找规律!

 类似的打印星星:
 for(var n=1;n<=9;n++){
   var str="";
   for(var a=1;a<=n;a++){
    str+="*";     
 }
 console.log(str);
 }


 例:
 var sum=0;
 var count=0;
 do{
   var input=parseInt(prompt("请输入成绩:"));
   if(input==-1){
   break;
   }else{
    sum+=input;
    count++;
   }
 }while(true);
 console.log("平均分"+(sum/count).toFixed(2));


 水仙花数,也叫自恋数
 for(var num=100;num<=999;num++){
   var one=num%10;  //个位
   var ten=parseInt((num%100)/10);//
   var hd=parseInt(num/100);  //百位
   if(num==hd*hd*hd+ten*ten*ten+one*one*one){
    console.log(num);
   }
 }
SAP PP模块 MRP配置实战:5步完成工厂级物料需求计划激活 本文详细介绍了SAP PP模块中物料需求计划(MRP)的工厂级配置实战,通过5个关键步骤从基础环境准备到最终激活。内容涵盖SPRO后台配置、MRP控制者定义、主数据设置及核心参数调整,帮助顾问快速掌握MRP配置清单的完整流程,确保物料需求计划的高效运行。 阅读详情

相关推荐

AI编程助手Cursor如何革新经济学研究:从计量模型到可视化全流程实战

在数据科学和人工智能技术蓬勃发展的今天,如何高效地将前沿AI工具融入专业领域的研究工作流,成为提升科研效率的关键。其核心原理在于通过自然语言交互,将研究者的专业问题转化为机器可执行的指令,从而实现人机协作的范式转移。这一技术的核心价值在于大幅降低非计算机背景研究者的编程门槛,将精力从繁琐的代码实现中解放出来,更聚焦于学科本身的思想与逻辑。尤其在经济学、金融学等高度依赖数据分析和计量建模的领域,AI编程助手能够快速处理数据清洗、模型估计、可视化及结果解释等任务。具体到应用场景,研究者可以利用结构化提示词工程,

weixin_42531579的博客 296

从零开始学WEB前端——JavaScript流程控制语句,移动web开发教程

技术是没有终点的,也是学不完的,最重要的是活着、不秃。零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。有需要面试题资料的朋友点击这里可以免费领取。

2401_84091502的博客 737

RTX 5090配Ubuntu 24.04踩坑记:手把手搞定OpenVLA-OFT环境(附版本避坑清单)

本文详细记录了在RTX 5090显卡和Ubuntu 24.04系统上部署OpenVLA-OFT环境的完整过程,包括驱动安装、CUDA配置、PyTorch版本选择等关键步骤。提供了经过验证的版本组合清单和常见错误解决方案,帮助开发者高效搭建AI开发环境。

weixin_30342209的博客 465

JS中利用switch语句编写成绩表判定成绩等级

题目描述: ​ 分数转换,给一个分数,判定等级。大于等于90 A,大于等于80小于90 B,大于等于70小于80 C ,大于等于60小于70 D,小于60 E <script> var score = parseInt(prompt('请输入分数:')); switch (true) { case score >= 90 && score <= 100: alert

hzw的博客 1万+

PaddleOCR SVTRv2中文识别模型训练全流程:从数据准备到推理部署

本文详细介绍了基于PaddleOCR的SVTRv2中文识别模型从数据准备、模型训练到推理部署的全流程实战。SVTRv2凭借其单视觉Transformer架构和分层混合机制,在中文文字识别任务上实现了高精度与效率的平衡。文章重点解析了数据工程、训练调优技巧及部署优化方案,帮助开发者构建定制化的OCR解决方案。

weixin_29194817的博客 287

Allegro如何用自带的功能将线段变成铜皮操作指导

在做PCB设计的时候,有时根据设计需要将线段变成铜皮,可以借助辅助工具来实现这一操作,但是Allegro自身也自带这个功能,如下图。勾选Delete original objects。如何用自带的功能将线段变成铜皮操作指导。勾选Convert to shape,需要把这段走线变成铜皮。

weixin_54787054的博客 2946

Math对象随机数方法—random()

随机数random() 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

牛先森家的博客 1万+

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-差分信号

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-单端信号详细介绍了单端信号如何进行TDR仿真分析,下面介绍如何对差分信号进行TDR分析,还是以下图为例进行分析。Impedance是时域阻抗曲线,也是最主要的观测指标,注意:impedance曲线的时间刻度不是延时,延时=时间刻度/2,因为TDR测量的是用一来一回的原理去测量的。Use Lossy peeling 默认不勾选,勾选的话代表同时仿真无损和有损方案,不勾选代表仅仿真有损方案。

weixin_54787054的博客 857

关于Math.random()

关于 Math.random() ,以前经常搞混淆,这次写个笔记专门记录下:   Math.random()  : 返回的是 0~1 之间的一个随机小数0&lt;=r&lt;1,即[0,1); 注意:这里是左闭右开区间;   在任意min~max之间取一个随机整数: parseInt(Math.random()*(max-min+1)+min)   比如:在0和10之间随机取一个整...

兰亭古墨 847

LSTM在DNA序列分析中的应用:生物信息学的探索

长短期记忆网络(LSTM)是循环神经网络(RNN)的一个变种,旨在解决RNN在长序列数据中出现的梯度消失和梯度爆炸问题。LSTM通过引入“记忆单元”和三个门(输入门、遗忘门和输出门)来有效捕捉长距离依赖关系。这使得LSTM在处理DNA序列等时间序列数据时具有优势。LSTM在DNA序列分析中展现了强大的能力,能够捕捉复杂的序列特征,并提供高效的解决方案。本文从LSTM的基本原理、DNA序列特性、模型构建、训练过程到实际应用进行了详细阐述。

斌擎科技 750

Qwen2.5-VL多模态微调超参数深度解析(上):训练流程与优化策略的量化机制分析

上篇文章通过系统化的对比实验,回答了多模态微调中的三个基础问题:“选什么方法”(LoRA/Full/Freeze/OFT对比)、“用什么配置”(60+组超参数组合)、“达到什么效果”(ROUGE-L/BLEU-4指标)。这些结果为后续工作奠定了实验基线,但也留下了更深层的疑问:为何相同方法在不同数据集上表现迥异?为何某些超参数的微小调整会引发性能剧变?如何在未见过的任务上快速找到最优配置?本文是对前文实验数据的二次挖掘与机理解析。我们将关注点从"做了什么实验"转移到"实验揭示了什么规律",实验视角从"结果对

羊城迷鹿的博客 1005

【JavaScript】4.面试题一JS基础知识(上)

一、变量类型和计算 题目: (1)JS中使用typeof能得到哪些类型? typeof能确定值类型的具体类型,不能确定引用类型的具体类型 (2)何时使用===? 何时使用==? 一般建议都使用===,只有下面两种判断对象属性和函数参数是否存在的情况下使用== - 判断对象属性是否存在 if(obj.a == null){ //这里相当于obj.a ===

返璞归真 515

新版ThingsBoard 4.2.0在windows上用IDEA编译记录

编译thingsboard4.2.0在windows上使用Idea

hssjf的专栏 1482

JavaScript基础知识复习4

声明(定义)一个完整函数包括关键字、函数名、形式参数、函数体、返回值5个部分。

2401_85837579的博客 817

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【前端】4.JavaScript基础知识

1.背景知识与学习路线 2.HTML基础知识 3.CSS基础知识 4.背景知识与学习路线

D2Ooo的博客 376

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

HTML基础知识JS篇4

HTML基础知识JS篇4 JS中数据类型: * - String 字符串 * - Number 数值 * - Boolean 布尔值 * - Null 空值 * - Undefined 未定义 * - 以上这五种类型属于基本数据类型,以后我们看到的值 * 只要不是上边的5种,全都是对象 * - Object 对象 * * * 基本数据类型都是单一的值"hello" 123...

weixin_45598486的博客 186

js基础知识巩固(4)

DOM(Document Object Model ——文档对象模型)是用来呈现以及与任意HTML或XML文档交互的API🥝DOM是浏览器提供的一套专门用来操作网页内容的功能标签天生自带的属性,比如class id title 等等,可以直接使用点语法操作比如:disabled、checked、selected在html5中推出来了专门的data-自定义属性在标签上一律以data-开头在DOM对象上一律以dataset对象方式获取。

2301_77528917的博客 1892

js基础知识4

原文链接:https://book.apeland.cn/details/361/#3.getElementsByClassName()方法 DOM介绍 1.文档:DOM中的”D” ​ DOM是”Document Object Model“(文档对象模型)的首字母缩写。如果没有document,DOM也就无从谈起。当创建一个网页并把它加载到web浏览器中时,DOM就在幕后悄然而生。它...

weixin_34320724的博客 284

JavaWeb笔记---JavaScript基础知识4(js中的DOM 查询练习)

按照要求进行查询 <body> <div id="total"> <div class="inner"> <p> 你喜欢哪个城市? </p> <ul id="city"> <li id="bj">北京</li> <li>上海</li> <li>东京</li> <li>首尔</li> </

SLSLSLSLSLSLS的博客 217

js基础知识回顾4

此文章的目的是让本人更加认真的回顾一下基础知识 声明两个内容一模一样的数组的方法 法一: var list=[1,2,3,4,5,6]; var arr=[]; for(var i=0;i<list.length;i++){ arr[arr.length]= list[i]; } arr.push(7); document.write(arr); //1,2,3,4,5,6,7...

qq_43412333的博客 174

JavaScript基础知识4

form表单的提交方式  1,form表单对象调属性的提交方式 submit提交: checkForm()"> function checkForm(){ var flag = true; var loginForm = document.loginForm; var email = document.getElementById("email"); var p

qq_35328937的博客 520

JavaScript基础知识整理4

函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个对Array的求和。通常情况下,求和的函数是这样定义的: function sum(arr) { return arr.reduce(function (x, y) { return x + y; }); } sum([1, 2, 3, 4, 5]); // 1...

weixin_37328901的博客 197

JavaScript基础知识4【函数】

函数的基础知识,大家可以在绿叶学习网中学习,我也是根据它的部分讲法总结的

2301_78701955的博客 591

JavaScript基础知识补习(4)

数组方法的补充 3中也有一些数组的方法介绍,回顾一下 我们首先创建一个数组(唯一的学习快落了QWQ) var arr = ["白宇","赵云澜"]; var arr2 = ["朱一龙","沈巍"]; concat() * 可以连接两个或多个数组并将新的数组返回 * 该方法不会对原数组产生影响 var result = arr....

超胖猫儿的博客 364

JavaScript入门——基础知识(4)

作用:重复执行代码好处:把声明起始值、循环条件、变化值写到一起,让人一目了然,它是最常使用的循环形式循环练习1.利用for循环输出1~100岁2.求1-100之间所有的偶数和3.页面中打印5个小星星4.循环数组请将数组 ['马超','赵云','张飞','关羽','黄忠'] 依次打印出来。

weixin_48719464的博客 488

4.javascript 基础知识

chrom的开发工具 elements是元素,意思是可以通过这里查看各个元素,改变元素的值 console是代码控制台 sources 是我们从服务端获取的JavaScript或者页面,左边是代码,右边是单步调试的工作区 Network 网络,是指网络的请求和网络的响应 ...

Andy 189
上一篇: JavaScript基础知识(3)
下一篇: JavaScript基础知识(5)
敲代码的猫
博客等级 码龄10年 70粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值