游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

JavaScript基础大总结

  初识JavaScirptJavaScript是世界上最流行的语言之一,是一种运行在客户端的脚本语言(Script是脚本的意思)脚本语言:不需要编译,运行过程中由js解释器(js引擎)逐行来进行解释并执行现在也可以基于Node。js技术进行服务器端编程
  浏览器执行JS简介
  浏览器分成两部分:渲染引擎和JS引擎渲染引擎:用来解析HTML与CSS,俗称内核,比如chrome浏览器的blink,老版本的webkitJS引擎:也称为JS解释器。用来读取网页中的JavaScript代码,对其处理后运行,比如chrome浏览器的V8
  浏览器本身并不会执行JS代码,而是通过内置JavaScript引擎(解释器)来执行JS代码。JS引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以JavaScript语言归为脚本语言,会逐行解释执行。
  JS的组成
  JavaScript包括ECMAScript、DOM、BOM
  ECMAScript
  ECMAScript是由ECMA国际(原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMAScript语言的实现和扩展。
  ECMAScript:ECMAScript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。DOM文档对象模型
  文档对象模型(DocumentObjectModel,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过DOM提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。BOM浏览器对象模型
  BOM(BrowserObjectModel,简称BOM)是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。1、JS初体验1。1、行内式JSinputtypebuttonvalue点我试试onclinkjavascript:alert(HelloWorld)可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头的属性),如:onclink注意单双引号的使用:在HTML中我们推荐使用双引号,JS中我们推荐使用单引号可读性差,在HTML中编入JS大量代码时,不方便阅读特殊情况下使用1。2、内嵌式JS可以将多行JS代码写到codepre利于HTML页面代码结构化,把单独JS代码独立到HTML页面之外,既美观,又方便引用外部JS文件的script标签中间不可以写代码适合于JS代码量比较大的情况2、JS基本语法2。1、注释2。1。1、单行注释单行注释快捷键ctrl2。1。2、多行注释多行注释快捷键shiftaltavscode中修改快捷键方式:vscode首选项按钮键盘快捷方式查找原来的快捷键修改为新的快捷键回车确认2。2、输入输出语句
  方法
  说明
  归属
  alert(msg);
  浏览器弹出警示框
  浏览器
  console。log(msg);
  浏览器控制台打印输出信息
  浏览器
  prompt(info);
  浏览看弹出输入框,用户可以输入
  浏览器alert()主要用来显示消息给用户console。log()用来给程序员看自己运行时的消息2。3、变量变量是用于存放数据的容器,我们通过变量名获取数据,甚至数据可以修改本质:变量是程序在内存中申请的一块用来存放数据的空间2。3。1、变量初始化var是一个JS关键字,用来声明变量(variable变量的意思)。使用该关键字声明变量后,计算机会自动为变量分配内存空间。age是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间声明变量同时赋值为18varage18;同时声明多个变量时,只需要写一个var,多个变量名之间使用英文逗号隔开。varage18,address火影村,salary15000;123452。3。2、声明变量特殊情况
  情况
  说明
  结果
  varage;console。log(age);
  只声明,不赋值
  undefined
  console。log(age)
  不声明不赋值直接使用
  报错
  age10;console。log(age);
  不声明只赋值
  102。3。3、变量的命名规范由字母(AZ,az),数字(09),下划线(),美元符号()组成,如:usrAge,num01,name严格区分大小写。varapp;和varApp;是两个变量不能以数字开头。不能是关键字,保留字。例如:var,for,while遵循驼峰命名法。首字母小写,后面单词的首字母需要大写。myFirstName推荐翻译网站:有道爱词霸2。4、数据类型
  JavaScript是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。varage10;这是一个数字型varareYouOk使得;这是一个字符串12在代码运行时,变量的数据类型是由JS引擎根据右边变量值的数据类型来判断的,运行完毕之后,变量就确定了数据类型。JavaScript拥有动态类型,同时也意味着相同的变量可用作不同的类型varx6;x为数字varxBill;x为字符串
  JS把数据类型分为两类:基本数据类型(Number,String,Boolean,Undefined,Null)复杂数据类型(Object)2。4。1、基本数据类型
  简单数据类型
  说明
  默认值
  Number
  数字型,包含整型值和浮点型值,如21,0。21
  0hrBoolean
  布尔值类型,如true,false,等价于1和0
  false
  Undefined
  vara;声明了变量a但是没有赋值,此时aundefined
  undefined(未定义的)
  string
  字符串类型,如张三
  Null
  varanull;声明了变量a为空值
  null2。4。2、数字型Number
  JavaScript数字类型既可以用来保存整数值,也可以保存小数(浮点数)。varage12;整数varAge21。3747;小数2。4。2、数字型进制
  最常见的进制有二进制、八进制、十进制、十六进制。1。八进制数字序列范围:07varnum107;对应十进制的7varNum2019;对应十进制的19varnum308;对应十进制的82。十六进制数字序列范围:09以及AFvarnum0xA;在JS中八进制前面加0,十六进制前面加0x数字型范围JS中数值的最大值:Number。MAXVALUEJS中数值的最小值:Number。MINVALUEconsol。log(Number。MAXVALUE);consol。log(Number。MINVALUE);数字型的三个特殊值alert(Infinity);Infinity(无穷大)alert(Infinity);Infinity(无穷小)alert(NaN);NaNNotaNumber,代表任何一个非数值Infinity,代表无穷大,大于任何数值Infinity,代表无穷小,小于任何数值Nan,NotaNumber,代表一个非数值isNaN
  这个方法用来判断非数字,并且返回一个值,如果是数字返回的是false,如果不是数字返回的是true
  varuserAge21;varisOkisNan(userAge);console。log(isOk);false,21不是一个非数字varuserNameandy;console。log(isNan(userName));true,andy是一个非数字2。4。3、字符串型String
  字符串型可以是引号中的任意文本,其语法为双引号和单引号’’varstrMsg我爱北京天安门;使用双引号表示字符串varstrMsg我爱北京;使用单引号表示字符串
  因为HTML标签里面的属性使用的是双引号,JS这里我们更推荐使用单引号。字符串引号嵌套
  JS可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)varstrMsg我是一个高富帅可以用包含varstrMsg2我是高富帅可以用包含字符串转义符
  类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。
  转义符都是开头的,常用的转义符及其说明如下:
  转义符
  解释说明
  换行符,n是newline
  斜杠
  ’
  ’单引号
  ‘’
  ‘’双引号
  t
  tab缩进
  b
  空格,b是blank的意思字符串长度
  字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的length属性可以获取整个字符串的长度。通过字符串的length属性可以获取整个字符串的长度varstrMsg我是高富帅!;alert(strMsg。length);显示6字符串的拼接多个字符串之间可以使用进行拼接,其拼接方式为字符串任何类型拼接之后的新字符串拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
  注意:字符串任何类型拼接之后的新字符串1字符串相加alert(helloWorld);helloWorld2数值字符串相加alert(100100);1001003数值字符串数值alert(1212);12124数值数值alert(1212);24号总结口诀:数值相加,字符相连varage18;console。log(我今年age岁);console。log(我今年age岁);引引加加,最终也是上面的形式
  字符串拼接加强console。log(Pink老师18);只要有字符就会相连varage18;console。log(Pink老师age岁了);这样不行,会输出Pink老师age岁了console。log(Pink老师age);Pink老师18console。log(Pink老师age岁啦);Pink老师18岁啦我们经常会将字符串和变量来拼接,因为变量可以很方便地修改里面的值变量是不能添加引号的,因为加引号的变量会变成字符串如果变量两侧都有字符串拼接,口诀引引加加,删掉数字变量写加中间2。4。4、布尔型Boolean布尔类型有两个值:true和false,其中true表示真(对),而false表示假(错)。布尔型和数字型相加的时候,true的值为1,false的值为0。varflagtrue;console。log(flag1);2true当加法来看当1来看,flase当0来看2。4。5、undefined未定义一个声明后没有被赋值的变量会有一个默认值undefined(如果进行相连或者相加时,注意结果)如果一个变量声明未赋值,就是undefined未定义数据类型varstr;console。log(str);undefinedvarvariableundefined;console。log(variablePink);undefinedPinkconsole。log(variable18);NaN
  1。undefined和字符串相加,会拼接字符串
  2。undefined和数字相加,最后结果是NaN2。4。6、空值null一个声明变量给null值,里面存的值为空varspacenull;console。log(spacepink);nullpinkconsole。llog(space1);12。4。7、typeoftypeof可用来获取检测变量的数据类型varnum18;console。log(typeofnum)结果number
  不同类型的返回值
  类型
  例
  结果
  string
  typeof小白
  string
  number
  typeof18
  number
  boolean
  typeoftrue
  boolean
  undefined
  typeofundefined
  undefined
  null
  typeofnull
  object2。4。8、字面量
  字面量是在源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值。数字字面量:8,9,10字符串字面量:‘大前端’,‘后端’布尔字面量:true、false
  通过控制台的颜色判断属于哪种数据类型
  黑色
  字符串
  蓝色
  数值
  灰色
  undefined和null2。5、数据类型转换
  使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型。
  我们通常会实现3种方式的转换:转换为字符串类型转换为数字型转换为布尔型转换为字符串型
  方式
  说明
  案例
  toString()
  转成字符串
  varnum1;alert(num。toString());
  String()强制转换
  转成字符串
  varnum1;alert(String(num));
  加号拼接字符串
  和字符串拼接的结果都是字符串
  varnum1;alert(num我是字符串);1。把数字型转换为字符串型toString()变量。toString()varnum10;varstrnum。toString();console。log(str);2。强制转换console。log(String(num));toString()和String()使用方式不一样三种转换方式,我们更喜欢用第三种加号拼接字符串转换方式,这一方式也称为隐士转换转换为数字型
  方式
  说明
  案例
  parselnt(string)函数
  将string类型转成整数数值型
  parselnt(‘78’)
  parseFloat(string)函数
  将string类型转成浮点数数值型
  parseFloat(‘78。21’)
  Number()强制转换函数
  将string类型转换为数值型
  Number(‘12’)
  js隐式转换()
  利用算术运算隐式转换为数值型
  ‘12’01。parseInt()varageprompt(请输入您的年龄);consolo。log(parseInt(age));数字型18consolo。log(parseInt(3。14));3取整consolo。log(parseInt(3。94));3,不会四舍五入consolo。log(parseInt(120px));120,会去掉单位2。parseFloat()console。log(parseFloat(3。14));3。14consolo。log(parseFloat(120px));120,会去掉单位3。利用Number(变量)varstr123;console。log(Number(str));console。log(Number(12));4。利用了算术运算隐式转换console。log(120);12
  1。注意parseInt和parseFloat,这两个是重点
  2。隐式转换是我们在进行算数运算的时候,JS自动转换了数据类型转换为布尔型
  方法
  说明
  案例
  Boolean()函数
  其他类型转成布尔值
  Boolean(‘true’);代表空,否定的值会被转换为false,如’’,0,NaN,null,undefined其余的值都会被被转换为trueconsole。log(Boolean());falseconsole。log(Boolean(0));falseconsole。log(Boolean(NaN));falseconsole。log(Boolean(null));falseconsole。log(Boolean(undefined));falseconsole。log(Boolean(小白));trueconsole。log(Boolean(12));true2。6、运算符
  运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号
  JavaScript中常用的运算符有:算数运算符递增和递减运算符比较运算符逻辑运算符赋值运算符2。6。1、算术运算符
  概念:算术运算使用的符号,用于执行两个变量或值的算术运算。
  运算符
  描述
  实例
  加
  102030
  减
  102010
  乘
  1020200
  除
  10200。5
  取余数(取模)
  返回出发的余数9212。6。2、浮点数的精度问题
  浮点数值的最高精度是17位小数,但在进行算数计算时其精确度远远不如整数varresult0。10。2;结果不是0。3,0。30000000000000004console。log(0。07100);结果不是7,而是7。000000000000001
  所以不要直接判断两个浮点数是否相等2。6。3、递增和递减运算符
  递增()
  递减()
  放在变量前面时,我们称为前置递增(递减)运算符
  放在变量后面时,我们称为后置递增(递减)运算符
  注意:递增和递减运算符必须和变量配合使用。前置递增运算符
  numnumnum1
  使用口诀:先自加,后返回值varnum10;alert(num10);21
  先自加10111,返回11,此时num11后置递增运算符
  numnumnum1
  使用口诀:先返回原值,后自加varnum10;alert(10num);20小结前置递增和后置递增运算符可以简化代码的编写,让变量的值1比以前写法更简单单独使用时,运行结果相同,与其他代码联用时,执行结果会不同开发时,大多使用后置递增减,并且代码独占一行2。6。4、比较(关系)运算符
  比较运算符是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(truefalse)作为比较运算的结果。
  运算符名称
  说明
  案例
  结果
  小于号
  12
  true
  大于号
  12
  false
  大于等于号(大于或者等于)
  22
  true
  小于等于号(小于或者等于)
  32
  false
  判等号(会转型)
  3737
  true
  !
  不等号
  37!37
  false
  !
  全等要求值和数据类型都一致
  37‘37’
  false小结
  符号
  作用
  用法
  赋值
  把右边给左边
  判断
  判断两边值是否相等(注意此时有隐士转换)
  全等
  判断两边的值和数据类型是否完全相同console。log(1818);trueconsole。log(1818);false2。6。5、逻辑运算符
  逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值
  逻辑运算符
  说明
  案例
  逻辑与,简称与and
  truefalse
  逻辑或,简称或or
  truefalse
  !
  逻辑非,简称非not
  !true
  逻辑与:两边都是true才返回true,否则返回false
  逻辑或:两边都为false才返回false,否则都为true
  逻辑非:逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如true的相反值是falsevarisOk!true;console。log(isOk);false逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如true的相反值是false2。6。5。1、短路运算(逻辑中断)
  短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值逻辑与语法:表达式1表达式2如果第一个表达式的值为真,则返回表达式2如果第一个表达式的值为假,则返回表达式1console。log(123456);456console。log(0456);0console。log(123456789);789逻辑或语法:表达式1表达式2如果第一个表达式的值为真,则返回表达式1如果第一个表达式的值为假,则返回表达式2console。log(123456);123console。log(0456);456console。log(123456789);123varnum0;console。log(123num);先返回在加,相当于(1230)console。log(num);1232。6。6、赋值运算符
  概念:用来把数据赋值给变量的运算符。
  赋值运算符
  说明
  案例
  直接赋值
  varusrName‘我是值’
  ,
  加,减一个数后再赋值
  varage10;age5;15
  ,,
  成,除,取模后再赋值
  varage2;age5;10varage10;age5;相当于ageage5;age5;相当于ageage5;age10;相当于ageage10;2。6。7、运算符优先级
  优先级
  运算符
  顺序
  1hr小括号
  ()
  2hr一元运算符
  !
  3hr算数运算符
  先后
  4hr关系运算符
  ,,,,
  5hr相等运算符
  ,!,,!
  6hr逻辑运算符
  先后(先与后或)
  7hr赋值运算符
  8hr逗号运算符
  ,
  1。一元运算符里面的逻辑非优先级很高
  2。逻辑与比逻辑或优先级高
  3。练习题console。log(46人!阿凡达!(122144)true)truevara352734;console。log(a);falsevarb34313!2;console。log(b);truevarc22;console。log(c);falsevard!cba;console。log(d);true2。7、流程控制
  流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序2。7。1、分支结构
  JS语言提供了两种分支结构语句:JS语句switch语句if语句条件成立执行代码,否则什么也不做if(条件表达式){条件成立执行的代码语句}
  案例:进入网吧
  弹出一个输入框,要求用户输入年龄,如果年龄大于等于18岁,允许进网吧varusrAgeprompt(请输入您的年龄:);if(usrAge18){alert(您的年龄合法,欢迎来到老子网吧享受学习的乐趣!);}ifelse语句条件成立,执行if里面代码,否则执行else里面的代码if(条件表达式){〔如果〕条件成立执行的代码}else{〔否则〕执行的代码}
  案例:判断闰年
  接收用户输入的年份,如果是闰年就弹出闰年,否则弹出是平年
  算法:能被4整除且不能整除100的为闰年(如2004年就是闰年,1901年不是闰年)或者能够被400整除的就是闰年varyearprompt(请输入年份);if(year40year100!0year4000){alert(这个年份是闰年);}else{alert(这个年份是平年);}ifelseif语句if(条件表达式1){语句1;}elseif(条件表达式2){语句2;}elseif(条件表达式3){语句3;}else{上述条件都不成立执行此处代码}
  案例:接收用户输入的分数,根据分数输出对应的等级字母A、B、C、D、E
  其中:90分(含)以上,输出:A80分(含)90分(不含),输出:B70分(含)80分(不含),输出:C60分(含)70分(不含),输出:D60分(不含)以下,输出:Evarscoreprompt(请您输入分数:);if(score90){alert(宝贝,你是我的骄傲);}elseif(score80){alert(宝贝,你已经很出色了);}elseif(score70){alert(你要继续加油喽);}elseif(score60){alert(孩子,你很危险);}else{alert(可以再努力点吗,你很棒,但还不够棒);}2。7。2、三元表达式语法结构:表达式1?表达式2:表达式3执行思路
  如果表达式1为true,则返回表达式2的值,如果表达式1为false,则返回表达式3的值
  案例:数字补0
  用户输入数字,如果数字小于10,则在前面补0,比如01,09,
  如果数字大于10,则不需要补,比如20varfiguerprompt(请输入059之间的一个数字);varresultfiguer10?0figuer:figuealert(result);2。7。3、switchswitch(表达式){casevalue1:表达式等于value1时要执行的代码break;casevalue2:表达式等于value2时要执行的代码break;default:表达式不等于任何一个value时要执行的代码}switch:开关转换,case:小例子选项关键字switch后面括号内可以是表达式或值,通常是一个变量关键字case,后跟一个选项的表达式或值,后面跟一个冒号switch表达式的值会与结构中的case的值做比较如果存在匹配全等(),则与该case关联的代码块会被执行,并在遇到break时停止,整个switch语句代码执行结束如果所有的case的值都和表达式的值不匹配,则执行default里的代码执行case里面的语句时,如果没有break,则继续执行下一个case里面的语句用户在弹出框里面输入一个水果,如果有就弹出该水果的价格,如果没有该水果就弹出没有此水果varfruitprompt(请您输入查询的苹果);switch(fruit){case苹果:alert(苹果的价格为3。5元千克);break;case香蕉:alert(香蕉的价格为3元千克);break;default:alert(没有这种水果);}3、断点调试浏览器中按F12sources找到需要调试的文件在程序的某一行设置断点(在行数点一下)刷新浏览器Watch:监视,通过watch可以监视变量的值的变化,非常的常用F11:程序单步执行,让程序一行一行的执行,这个时候,观察watch中变量的值的变化4、循环4。1、for循环
  在程序中,一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,被称之为循环语句for(初始化变量;条件表达式;操作表达式){循环体}
  1。输入10句娘子晚安哈!基本写法for(vari1;i10;i){console。log(娘子晚安哈);}用户输入次数varnumprompt(请输入次数:);for(vari1;inum;i){console。log(娘子晚安哈);}
  2。求1100之间所有整数的累加和求1100所以的整数和varsum0;for(vari1;i100;i){varsumsumi;}console。log(sum);
  3。求1100之间所有数的平均值3。求1100之间所有数的平均值varsum0;for(vari1;i100;i){varsumsumi;}console。log(sum100);
  4。求1100之间所有偶数和奇数的和4。求1100之间所有偶数和奇数的和varsum10;varsum20;for(vari1;i100;i){if(i20){sum1sum1i;}else{sum2sum2i;}}console。log(偶数和为sum1);console。log(奇数和为sum2);
  5。求1100之间所有能被3整除的数字的和5。求1100之间所有能被3整除的数字的和varsum0;for(vari1;i100;i){if(i30){sumi;}}console。log(sum);
  6。要求用户输入班级人数,之后依次输入每个学生的成绩,最后打印出该班级总的成绩以及平均成绩。varnumprompt(请输入班级总的人数:);num班级总的人数varsum0;总成绩varaverage0;平均成绩for(vari1;inum;i){varscoreprompt(请输入第i个学生的成绩);这里接收的是str,必须转换为数值sumsumparseFloat(score);}averagesumnum;alert(班级总的成绩是:sum);alert(班级总的平均成绩是:average);
  7。一行打印5个星星
  我们采取追加字符串的方式,这样可以打印到控制台上varstar;for(vari1;i5;i){star;}console。log(star);4。2、双重for循环
  循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构,例如在for循环语句中,可以再嵌套一个for循环,这样的for循环语句我们称之为双重for循环。for(外循环的初始;外循环的条件;外形循环的操作表达式){for(内循环的初始;内循环的条件;内循环的操作表达式){需执行的代码;}}内层循环可以看做外层循环的语句内层循环执行的顺序也要遵循for循环的执行顺序外层循环执行一次,内层循环要执行全部次数打印五行五列星星
  核心:内层循环负责一行打印五个星星外层循环负责打印五行varstar;for(varj1;j5;j){for(vari1;i5;i){star}每次满5个星星就加一次换行star}console。log(star);打印n行n列的星星
  要求用户输入行数和列数,之后在控制台打印出用户输入行数和列数的星星varstar;varrowprompt(请输入行数);varcolprompt(请输入列数);for(varj1;jcol;j){for(vari1;irow;i){star;}star;}console。log(star);打印倒三角形
  一共有10行,但是每行的星星个数不一样,因此需要用到双重for循环外层的for控制行数i,循环10次可以打印10行内层的for控制每行的星星个数j核心算法:每一行星星的个数:ji;j10;j每行打印完毕后,都需要重新换一行varstar;varrowprompt(请输入行数);varcolprompt(请输入列数);for(vari1;irow;i){for(varji;jcol;j){star;}star;}console。log(star);4。3、while循环while(条件表达式){循环体代码}
  执行思路:先执行条件表达式,如果结果为true,则执行循环体代码;如果为false,则退出循环,执行后面代码执行循环体代码循环体代码执行完毕后,程序会继续判断执行条件表达式,如条件仍为true,则会继续执行循环体,直到循环条件为false时,整个循环过程才会结束
  注意:使用while循环时一定要注意,它必须要有退出条件,否则会称为死循环while循环和for循环的不同之处在于while循环可以做较为复杂的条件判断,比如判断用户名和密码打印人的一生
  从1岁到99岁varage0;while(age100){age;console。log(您今年age岁了);}计算1100之间所有整数的和varfigure1;varsum0;while(figure100){sumfigure;figure;}console。log(1100的整数和为sum);4。4、dowhile循环do{循环体代码条件表达式为true的时候重复执行循环一代码}while(条件表达式);
  执行思路:先执行一次循环体代码再执行表达式,如果结果为true,则继续执行循环体代码,如果为false,则退出循环,继续执行后面的代码先执行再判断循环体,所以dowhile循环语句至少会执行一次循环体代码
  需求:弹出一个提示框,你爱我吗?如果输入我爱你,就提示结束,否则,一直询问do{varloveprompt(你爱我吗?);}while(love!我爱你);alert(登录成功);4。5、continue关键字
  continue关键字用于立即跳出本次循环,继续下一次循环(本次循环体中continue之后的代码就会少执行一次)。
  例如,吃5个包子,第3个有虫子,就扔掉第3个,继续吃第4个第5个包子for(vari1;i5;i){if(i3){console。log(这个包子有虫子,扔掉);continue;跳出本次循环,跳出的是第3次循环}console。log(我正在吃第i个包子呢);}4。6、break关键字
  break关键字用于立即跳出整个循环
  例如,吃5个包子,吃到第3个发现里面有半个虫子,其余的也不吃了for(vari1;i5;i){if(i3){break;直接退出整个for循环,跳到整个for下面的语句}console。log(我正在吃第i个包子呢);}5、数组
  数组(Array)是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。普通变量一次只能存储一个值varnum10;数组一次可以存储多个值vararr〔1,2,3,4,5〕;5。1、创建数组
  JavaScript中创建数组有两种方式:利用new创建数组利用数组字面量创建数组利用new创建数组var数组名newArray();vararrnewArray();创建一个新的空数组这种方式暂且了解,等学完对象再看注意Array(),A要大写利用数组字面量创建数组1。利用数组字面量方式创建空的数组var数组名〔〕;2。使用数组字面量方式创建带初始值的数组var数组名〔小白,小黑,小黄,瑞奇〕;3。数组中可以存放任意类型的数据,例如字符串,数字,布尔值等vararrStus〔小白,12,true,28。9〕;数组的字面量是方括号〔〕声明数组并赋值称为数组的初始化这种字面量方式也是我们以后最多使用的方式5。2、数组的索引(下标)
  索引(下标):用来访问数组元素的序号(数组下标从0开始)定义数组vararrStus〔1,2,3〕;获取数组中的第2个元素alert(arrStus〔1〕);5。3遍历数组
  我们可以通过for循环索引遍历数组中的每一项数组索引访问数组中的元素vararr〔red,green,blue〕;console。log(arr〔0〕)redconsole。log(arr〔1〕)greenconsole。log(arr〔2〕)bluefor循环遍历数组vararr〔red,green,blue〕;for(vari0;iarr。length;i){console。log(arrStus〔i〕);}5。4、数组的长度
  使用数组名。length可以访问数组元素的数量(数组长度)vararrStus〔1,2,3〕;alert(arrStus。length);3
  注意:此处数组的长度是数组元素的个数,不要和数组的索引号混淆当我们数组里面的元素个数发生了变化,这个length属性跟着一起变化5。5、案例
  1。请将〔关羽,张飞,马超,赵云,黄忠,刘备,姜维〕;数组里的元素依次打印到控制台vararr〔关羽,张飞,马超,赵云,黄忠,刘备,姜维〕;遍历从第一个到最后一个for(vari0;iarr。length;i){console。log(arr〔i〕);}
  2。求数组〔2,6,1,7,4〕里面所有元素的和以及平均值声明一个求和变量sum。遍历这个数组,把里面每个数组元素加到sum里面。用求和变量sum除以数组的长度就可以得到数组的平均值。vararr〔2,6,1,7,4〕;varsum0;varaverage0;for(vari0;iarr。length;i){sumarr〔i〕;}averagesumi;此时i为5averagesumarr。length;console。log(和为sum);console。log(平均值为average);
  3。求数组〔2,6,1,77,52,25,7〕中的最大值声明一个保存最大元素的变量max。默认最大值可以取数组中的第一个元素。遍历这个数组,把里面每个数组元素和max相比较。如果这个数组元素大于max就把这个数组元素存到max里面,否则继续下一轮比较。最后输出这个max。vararr〔2,6,1,77,52,25,7〕;varmaxarr〔0〕;vartemp;for(vari0;iarr。length;i){if(maxarr〔i〕){tempmax;maxarr〔i〕;arr〔i〕temp;}}console。log(最大值为max);方法二:vararrNum〔2,6,1,77,52,25,7〕;varmaxNumarrNum〔0〕;用来保存最大元素,默认最大值是数组中的第一个元素从0开始循环数组里的每个元素for(vari0;iarrNum。length;i){如果数组里当前循环的元素大于maxNum,则保存这个元素和下标if(arrNum〔i〕maxNum){maxNumarrNum〔i〕;保存数值到变量maxNum}}
  4。将数组〔‘red’,‘green’,‘blue’,‘pink’〕里面的元素转换为字符串
  思路:就是把里面的元素相加就好了,但是注意保证是字符相加需要一个新变量str用于存放转换完的字符串。遍历原来的数组,分别把里面数据取出来,加到字符串变量str里面。vararr〔red,green,blue,pink〕;varstr;for(vari0;iarr。length;i){strarr〔i〕;}console。log(str);redgreenbluepink
  5。将数组〔‘red’,‘green’,‘blue’,‘pink’〕转换为字符串,并且用或其他符号分割需要一个新变量用于存放转换完的字符串str。遍历原来的数组,分别把里面数据取出来,加到字符串里面。同时在后面多加一个分隔符。vararr〔red,green,blue,pink〕;varstr;varseparator;for(vari0;iarr。length;i){strarr〔i〕separator;}console。log(str);redgreenbluepink5。6、数组中新增元素通过修改length长度新增数组元素可以通过修改length长度来实现数组扩容的目的length属性是可读写的vararr〔red,green,blue,pink〕;arr。length7;console。log(arr);console。log(arr〔4〕);console。log(arr〔5〕);console。log(arr〔6〕);
  其中索引号是4,5,6的空间没有给值,就是声明变量未给值,默认值就是undefined通过修改数组索引新增数组元素可以通过修改数组索引的方式追加数组元素不能直接给数组名赋值,否则会覆盖掉以前的数据这种方式也是我们最常用的一种方式vararr〔red,green,blue,pink〕;arr〔4〕hotpink;console。log(arr);5。7、数组中新增元素
  1。新建一个数组,里面存放10个整数(110),要求使用循环追加的方式输出:〔1,2,3,4,5,6,7,8,9,10〕使用循环来追加数组。声明一个空数组arr。循环中的计数器i可以作为数组元素存入。由于数组的索引号是从0开始的,因此计数器从0开始更合适,存入的数组元素要1。vararr〔〕;for(vari0;i10;i){arr〔i〕i1;}console。log(arr);
  2。将数组〔2,0,6,1,77,0,52,0,25,7〕中大于等于10的元素选出来,放入新数组声明一个新的数组用于存放新数据。遍历原来的数组,找出大于等于10的元素。依次追加给新数组newArr。
  实现代码1:vararr〔2,0,6,1,77,0,52,0,25,7〕;varnewArr〔〕;定义一个变量用来计算新数组的索引号varj0;for(vari0;iarr。length;i){if(arr〔i〕10){给新数组newArr〔j〕arr〔i〕;索引号不断自加j;}}console。log(newArr);
  实现代码2:vararr〔2,0,6,1,77,0,52,0,25,7〕;varnewArr〔〕;for(vari0;iarr。length;i){if(arr〔i〕10){给新数组newArr〔newArr。length〕arr〔i〕;}}console。log(newArr);5。8、删除指定数组元素
  将数组〔2,0,6,1,77,0,52,0,25,7〕中的0去掉后,形成一个不包含0的新数组。vararr〔2,0,6,1,77,0,52,0,25,7〕;varnewArr〔〕;for(vari0;ipreh1classpgcharrowrightdatatrack10615。9、翻转数组h1pdatatrack1042strongspanstylecolor:4D4D4D;ttdarkmodecolor:999999;将数组〔‘red’,‘green’,‘blue’,‘pink’,‘purple’〕的内容反过来存放spanstrongprecode把旧数组索引号的第4个取过来(arr。length1),给新数组索引号第0个元素(newArr。length)vararr〔red,green,blue,pink,purple〕;varnewArr〔〕;for(variarr。length1;i0;i){newArr〔newArr。length〕arr〔i〕;}console。log(newArr);5。10、数组排序
  冒泡排序
  将数组〔5,4,3,2,1〕中的元素按照从小到大的顺序排序,输出:1,2,3,4,5vararr〔5,4,3,2,1〕;for(vari0;iarr。length1;i){外层循环管趟数,5个数共交换4躺for(varj0;jarr。lengthi1;j){里层循环管每一趟交换的次数前一个和后面一个数组元素相比较if(arr〔j〕arr〔j1〕){vartemparr〔j〕;arr〔j〕arr〔j1〕;arr〔j1〕temp;}}}console。log(arr);
  汇总结束,希望对各位朋友有帮助,觉得还不错的给个点赞支撑支撑

勇士VS活塞,汤普森拿下本赛季最高分,压哨三分获五佳球之冠1月19日,活塞队对阵勇士队,以86:102大比分败北。其中,克莱汤普森上场22分钟,获得全场最高的21分,这也是汤普森获得本赛季的最高得分。库里上场28分钟,获得18分,3个……深秋吃5宝,不怕病来找,指的是哪5宝?早了解早受益时光荏苒,转眼间秋季已过一大半,在寒风凛冽的深秋人们体内的阳气处于内收的状态,这个时候稍不注意饮食,就有可能诱发各种疾病,老话说的病从口入说的就是这个意思。为避免出现这种……目前最优秀的3款直屏手机,太贵的咱们不聊,价格都在3000元学长常说只买对的不买贵的,近两年直屏旗舰层出不穷,例如现在性能最好的iPhone13promax但是高达9200的售价确实没必要,今天来和大家聊聊平价3000以内最好的五款直屏……荣耀Magic4Pro跌至新低,12GB256GB突降130创业难、而守业更难,在竞争激烈的手机行业中,手机品牌的市场份额一旦大幅下滑,那么将很难再涨回来,因为份额很快会被友商抢占,但是有两个品牌却是例外,第一个就是小米,曾经这一品牌市……重磅长城汽车宣布品牌大调整魏牌坦克欧拉沙龙将全面整合文:懂车帝原创魏微〔懂车帝原创行业〕长城汽车进行品牌资源大整合。12月8日,懂车帝从官方了解到,长城汽车本次整合涉及所有整车品牌。据悉,8月份履新长城汽车首席增长官CGO……春暖花开!带你看遍屯溪漫山花海春暖花开春暖花开,万物复苏又到一年赏花时屯溪春季赏花指南出炉啦!各位小伙伴们,别宅啦快快出来踏青赏花吧01hr屯溪的春,该……3句话,让你越来越强大与时俱进,提升自我没有一种商业模式是长存的,没有一种竞争力是永恒的,没有一种资产是稳固的。一个人成熟的标志,是能够不断接受挑战,适应社会的更新。萧伯纳说过:……小米折叠屏要来了,MIXFOLD2入网,配备8英寸2。5K屏去年,小米发布了旗下首款折叠屏手机MIXFOLD,但是上市之后却备受大家吐槽,其中原因之一就是其奇葩的外屏尺寸比例,看起来就像一个遥控器。而近日,小米第二代折叠屏手机MIXFO……数字孪生助推能源项目设计效率提升随着水利水电工程建设逐步走向高寒、高海拔、高地震烈度区,施工效能降低、人力耗损增加,数字化、信息化、智能化是实现工程优质高效安全建设的必然选择。随着水利水电工程建设逐步走向高寒……2021中国航天名场面超燃混剪来源:昆明日报掌上春城天问一号成功着陆火星,我国首颗太阳探测卫星成功发射;中国人首次进入自己的空间站,聂海胜成为首位在轨100天的中国航天员;王亚平第二次太空开讲,并成为……易烊千玺胡先煦罗一舟考编成功!三人被国家话剧院录取是同班同学7月6日,中国国家话剧院2022年应届毕业生招聘拟聘人员公示,其中易烊千玺、罗一舟和胡先煦都赫然在列,也就是说三人都考编成功,拥有大家都非常向往的铁饭碗。值得一提的是,三人还是……绿水鬼的高段位平替,原来长这样?谁的买表决赛圈中会出现绿水鬼?请举起你的双手让我看见!对于普通人来说,买一只劳力士的绿水鬼,可能需要攒很久的钱,好不容易钱攒够了,满怀期待地到了专柜,结果被告知没货,需要……
每天吃一个鸡蛋,一段时间后身体会发生哪些变化?答案很喜人,但鸡蛋,既便宜营养价值又高,且富含蛋白质及17种氨基酸、碳水化合物、钙、铁等成分,还含有现代人易缺乏的磷脂、胆碱再加上蒸、煮、煎、炒、卤各种做法,俘获了无数人的胃,成为了餐桌常客……iOS16。2准正式版来了Apple今日正式向果粉们推送iOS16。2RC准正式版更新,版本号:20C65果粉们更新iOS16。2RC发现,通知中心的工作方式发生重要新变化,旧的通知现在被默认显示……软硬件结合的优等生柯尼卡美能达bizhub550i黑白数码复随着智能化趋势席卷全球,越来越多的企业开始寻求智能化转型,进而提升企业的办公效率。作为文印输出终端的数码复合机,如果能将其进行智能化的管理与维护,那么也将会大幅度提升企业的办公……6个性价比超高的秋衣品牌,舒适好穿又保暖秋衣秋裤是冬季最重要的保暖抗寒衣物之一,每个人都会备上几套。接下来给大家推荐6个性价比超高的秋衣品牌,有些款式不仅保暖还好看,时髦精们千万别错过!01hr优衣库……未解之谜尼斯湖水怪世界十大未解之谜尼斯湖水怪,它是地球上最神秘的谜之一。湖位于苏格兰的大峡谷中,平均深度达200米。该湖终年不冻,湖北端有河流与北海相通。1934年4月,伦敦医生威尔逊用相机拍下……微观振兴丨永州道县红色村庄展新颜贵头村头头是道风景秀美的贵头村风光。红网时刻新闻记者刘炜翔通讯员胡东仁永州报道何宝珍故里,陈树湘烈士纪念馆,全国第二批乡村治理示范村,全国红色美丽村庄建设试点村,湖南省美丽乡村精……历届亚运会田径男子100米冠军中国是1974年伊朗德黑兰亚运会恢复参加亚运会,田径100米的比赛不管是世锦赛,还是奥运会,哪怕是亚运会都是扣人心弦,值得一看的,今天我们就来回顾盘点下,历届亚运会田径男子10……21私募投融资周报(4。34。9)盛合晶微完成3。4亿美元C新的一周开始,简单回顾上周披露的投资融资交易。消费服务领域新披露融资中,相对活跃的投资机构包括中金资本、腾讯投资、盛世通基金等,新中式健康零食品牌老金磨方获B轮融资,中金……三星GalaxyS21FE5G评测数据只是参考,让体验说真话三星Galaxy在数码圈摸爬滚打了这么多年,接触过、体验过大部分三星手机,但不是自己用就感觉体验少了一份真实,自然对手机的认识也不够全面。这一次,我深入体验了全新上市的三星Ga……她,又双叒叕要复出了体操传奇未完待续。东京奥运会上,止步资格赛的丘索维金娜宣布退役。但仅仅两个月后,她通过社交媒体宣布再次复出,目标是杭州亚运会奖牌。我决定继续备战2022年杭州亚运会。我还没能为……iPhone15曝光,两大改变,又回归经典!iPhone14已经发布了几个月,层次分明的系列,也受不同阶段的用户需求。与此同时,关于iPhone15的消息也不断传出,看到iPhone15曝光的内容,不少网友直呼:再次回归……纳帅若淘汰赛表现差小组6战全胜也没用裁判决定马内手球不判点直播吧11月2日讯北京时间今天凌晨,拜仁在欧冠小组赛最后一轮主场20击败国米,取得了六战全胜的战绩。拜仁主帅纳格尔斯曼在赛后强调,更重要的还是要在之后的淘汰赛中走得更远。……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网