JS中的循环结构、循环嵌套以及函数介绍

【循环结构的步骤】
    *①声明循环变量
    *②判断循环条件
    *③执行循环体(while的{}中的所有代码)操作
    *④更新循环变量
    *
    * 然后,循环执行②③④
    *
    *
    * 【JS中循环条件支持的数据类型】
    * ①boolean:true 真     false   假
    * ②string: 非空字符串为真       空字符串为假
    * ③null/NaN/undefined:  全为假
    * ④object:全为真
    * ⑤number:0为假,一切非0均为真

while循环特点:先判断,再执行;
do-while循环特点:先执行,再判断;即使初始条件不成立,do-while循环也至少执行一次;

[for循环]
    * 1、for循环有三个表达式,分别为:①定义循环变量②判断循环条件③更新循环变量
    *  三个表达式之间,用;分隔
    *  for循环三个表达式均可省略,两个;缺一不可
    *
    * 2、for循环特点:先判断,再执行;
    * 3、for循环三个表达式,均可以有多部分组成,之间用逗号分隔,但是第二部分判断条件用&&链接,最终结果需要为真/假

【循环控制语句】
    *
    * 1、break:终止本层循环,继续执行循环后面的语句;
    *    当循环有多层时,break只会跳过一层循环;
    * 2、continue:跳过本次循环,继续执行下一次循环;
    *     对于for循环,continue执行后,继续执行循环变量更新语句n++
    *     对于while,do-while,continue执行后,继续执行循环条件判断;所以使用这两个循环时,必须注意:continue一定要在n++之后使用;

[循环嵌套特点]
    * 外层循环转一次,内层循环转一圈;
    *
    * [做图形题思路]
    *
    * 1、确定图形一共几行,即为外层的循环的次数;
    * 2、确定每行有几种元素,代表有几个内层循环;
    * 3、确定每种元素的个数,即为每个内层循环的次数;
    *  tips:通常,找出每种元素个数,与行号的关系式,即为当前内层循环的最大值;

浏览器控制台打印输出
    *
    * console.log("请输入0-6之间的数字\n111");
    *
    * \n 表示换行 
    *
    * \t 制表符,使光标退到下一个制表位。(每个制表位,4个字符;前一制表位若不满4个字符,则后面内容在下一格显示;前一制表位若满4个字符,则后面内容空一个显示;)
    */
   //console.log("请输入0-6之间的数字\n1111\t2\t333");

【函数的声明及调用】
    * 1、函数声明的格式:
    * >>>function 函数名(参数1,参数2,……){
    *  //函数体
    *  return 结果;
    * }
    * >>>函数调用的格式:
    * 直接调用:函数名(参数1的值,参数2的值,……);
    * 事件调用:事件名=函数名();
    * 2、函数声明的几点强调:
    * ①函数名的声明,必须符合小驼峰法则(首字母小写,之后每个单词首字母大写);
    * ②参数列表:可以有参数,可以无参数,分别称为有参函数,无参函数;
    * ③声明函数时的参数列表,称为“形参列表”(变量的名);
    *  调用函数时的参数列表,称为“实参列表”(变量的值);
    * 函数中实际有效的参数取决于实参的赋值,未被赋值的形参,将为undefined;
    * ④函数如果需要返回值,可用return返回结果;
    * 调用函数时,使用var 变量名=函数名();的方式,接受返回结果;
    * 如果函数没有返回值,则接受的结果为undefined。
    * ⑤函数中变量的作用域:
    * 在函数中,使用var声明的变量,默认为函数局部变量,只在函数内容能用;
    *   不使用var声明的变量,默认为全局变量(函数中的全局变量,必须在函数调用后,才能使用);
    * 函数的形参列表,为函数局部列表,只在函数内部能用;
    * ⑥函数声明与函数调用没有先后之分。即,调用语句可写在声明语句之前。

【JS中代码执行顺序】:
    * JS中代码运行,会先进行检查、装载,即声明变量、函数等操作;
    * 然后再进入执行阶段(变量的赋值等属于执行阶段)
    *
    * 所以,函数的声明属于检查装载阶段,函数的调用属于执行阶段。所以,函数调用语句写在函数声明语句之前,并没有任何关系。
    *
    * 所以,上述代码,执行流入
    * --------检查装载阶段---------
    * var sum;//声明变量
    * function funcN(){}//声明函数
    *
    * --------执行阶段-------
    * console.log(num);
    * num=10;
    * funcN();//执行函数的{}中代码

【匿名函数的声明及调用】
    * 1、声明一个匿名函数,直接赋给某个事件;
    *  window.onload=function(){}
    * 2、使用函数表达式声明匿名函数;
    *  声明函数表达式var func=function(){}
    *  调用函数表达式: func();
    *  >>>使用匿名函数表达式,则调用语句,必须在声明语句之后,否则报错(对比常规函数声明与调用区别?)
    * 3、使用自执行函数,声明并直接调用匿名函数:
    * ① !function(参数1){}(参数1的值);//使用任意运算符开头,一般使用!
    * ② (function(){}())//使用()将匿名函数及之后的括号包裹
    * ③ (function(){})()//使用()只包裹匿名函数表达式
    *
    * 三种写法特点:
    * ①结构清晰,开头加!,结尾加(),不容易乱,推荐使用;
    * ②可以表明匿名函数与之后的()为一个整体,推荐使用;
    * ③无法表明函数与之后()为一个整体,不推荐使用;

[arguments对象]
    *
    * 1、作用:用于保存调用函数时,所赋值的实参列表。
    *  >>>当我们调用函数,并使用实参赋值时,实际上参数已经保存到arguments数组中,即使没有形参,也可以使用arguments[n]的形式调用参数;
    * 2、arguments数组的个数,取决于实参列表。与形参无关(顺序从0开始);
    *  但,当第N个位置的形参、实参、arguments都存在时,形参与arguments是同步的。(即在函数中修改其中一个的值,另一个会同步变化)
    *
    * 3、arguments.callee是arguments的重要属性,用于返回arguments所在函数的引用;
    *
    *  arguments.callee()可以调用自身函数执行;
    *
    * 在函数内部调用函数自身的写法,被称为递归,所以arguments.callee()是递归调用时常用的方式;
    *
    *
    * this:
    * 指向函数调用语句所在作用域,即:谁调用函数,this指向谁;

时间: 2024-08-01 10:46:01

JS中的循环结构、循环嵌套以及函数介绍的相关文章

JS中的运算符&JS中的分支结构

一.JS中的运算符 1.算术运算(单目运算符) + 加.- 减.* 乘./ 除.% 取余.++ 自增.-- 自减 >>> +:有两种作用,连接字符串/加法运算.当+两边全为数字时,进行加法运算: 当+两边有任意一边为字符串时,起连接字符串的作用,连接之后的结果为字符串 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字 >>> /: 结果会保留小数点 >>> ++: 自增运算符,将变量在原有基础上+1: --: 自减运算符,将变量在原

JS中的运算符和JS中的分支结构

JS中的运算符 1.算术运算(单目运算符) + .-.*. /. %取余.++自增 .--自减 +:两种作用,链接字符串/加法运算.当+两边全为数字时,进行加法运算:当+两边有任意一边为字符串时,起链接字符串作用, 链接之后的结果为字符串. 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字: /:结果会保留小数点. ++:自增运算符,将变量在原有基础上+1: --:自增运算符,将变量在原有基础上-1: [a++和++a的异同] ①相同点:无论a++还是++a,运算完以后,a的

Js中常用的字符串,数组,函数扩展

由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展,一来可以练练手,二来也锻炼下自己的代码能力.由于代码里面的注释自认为已经非常详细,所以就直接贴代码了. 1. 字符串扩展: ;(function() { var method, stringExtends = { /** * 删除字符串开始和结尾的空白 * @returns {string} */ stri

JS基础-----JS中的分支结构及循环结构

[分支结构] 一.if-else结构 1.结构的写法:if(判断条件){ //条件为true时,执行if的{} }else{ //条件为false时,执行else的{} } 2.注意事项 ①else语句块.可以根据情况进行省略. ②if和else后面的{}可以省略,但是省略{}后,if和else后面只能跟一条语句.(所以并不建议省略{}) 3.if的()中的判断条件,支持的情况: ①Boolean:true为真,false为假: ②String:空字符串为假,所有非空字符串为真: ③Number

js中的4种循环结构

js有4种循环结构: 1.for循环 ==>多次遍历代码块 2.for / in循环==>遍历对象属性 3.while循环==>当指定条件为true时,循环代码块 4.do while循环==>当指定条件为true时,循环代码块 for循环 一般都有特定的计数器变量.操作计数器的三个重要步骤为:初始化.检测.更新 语句1的作用是将变量初始化: 语句2的作用是在每次循环前都要检测变量的值是否在某一个范围内: 语句3的作用是更新计数器变量:每次循环后进行自增或者自减操作 for(语句1

js中的分支与循环

一.js的分支结构 js的分支结构包括:if-else结构.多重if结构.嵌套if结构和switch-case结构 1.if-else结构 1.结构的写法:    if(判断条件){    //条件为ture时,执行if的{}    }else{     //条件为false时,执行else的{}    }     2.注意事项:     ①else{}语句块.可以根据情况进行省略.     ②if和else后面的{}可以省略,但是省略{}后,if和else后面只能跟一条语句:(所以,并不建议省

js中奇特的for循环写法

//正常的for循环 for(var i=0;i<10;i++){ console.log(i); } //输出:1,2,3……10 //简写 for(var i=10;i--;){ console.log(i); } //输出:9,8,7,……0 //变种: for(var i=-10;i++;){ console.log(i*-1); } //输出:9,8,7,……0 因为在js中,0,null,undefined,false,'',""作为条件判断时,其结果为false i

js中的Object.assign接受两个函数为参数的时候会发生什么?

缘由 今天看到一段代码 return Object.assign(func1, func2); 心生疑惑,为什么 Object.assign 的参数可以是函数? 于是有了下面这一堆东西,其实都是老生常谈的东西,可能是岁数大了吧,有些片段都快丢失了,哈哈 prototype js 中 万物皆是对象!!! proto(隐式原型)与 prototype(显式原型) 对象具有属性proto,可称为隐式原型 实例(对象)的 proto === 构造(该实例)函数的 prototype 函数 Functio

JS中有关分支结构、循环结构以及函数应用的一些简单练习

案例一:搬桌子    年龄大于七岁男女都可以搬桌子,年龄小于七岁大于五岁的男生可以搬桌子: var num =parseInt(prompt("请输入你的年龄")) var sex = prompt("请输入你的性别:男/女") if(num>=7){ alert("你可以搬桌子哦") } else{ if(num>=5&&sex=="男"){ alert("你可以搬桌子哦")