zoukankan      html  css  js  c++  java
  • Javascript中的各结构的嵌套和函数 pixel

    各位朋友大家好,上周更新给大家分享了JavaScript的入门知识及各种常用结构的用法,那么,本次更新博主就跟大家更深入的聊一聊JS各结构的嵌套用法,及JS中及其常用的一种结构——函数。以下为函数和循环嵌套的特点、用法及注意事项,希望能供各位开发者朋友参考。

    【循环嵌套特点】
    外层循环一次,内层循环一圈

    【循环控制语句】
    1、break:终止本层循环,继续执行后面的语句;
    当循环有多层时,break只会跳过一层循环;

    2、continue:跳过本次循环,继续执行下一次循环;
    对于for循环,continue执行后,继续执行循环变量更新语句n++
    对于while、do-while循环,continue执行后,继续执行循环条件判断;所以使用这两个循环时,continue必须在n++之后。

    [利用嵌套循环做图形类题目的特点]
    外层循环控制行数,内层循环控制每层元素个数;

    [做图形题思路]
    ①确定图形一共几行,即为外层循环的次数;
    ②确定每行有几种元素,代表有几个内层循环;
    ③确定每种元素的个数,即为每个内层循环的次数;
    Tips:找出每种元素的个数,与行号的关系式,即为当前内循环的最大值。


    【浏览器控制台打印输出】
    示例:console.log("请输入0-6之间的数字\n111\t222");

    \n 表示换行

    \t 制表符,使光标退到下一个制表位。(每个制表位,4个字符。前一制表位若不满4个字符,则后面的内容在下一格显示;
    前一制表位若满4个字符,则后面的内容空一格显示。)

    示例:console.log("请输入0-6之间的数字\n111\t222");

    ——————————————————————————————华丽分割线————————————————————————————————————

    【函数的声明及调用】
    1、函数声明的格式:
    function 函数名(参数1,参数2,参数3,……){
    //函数体
    return 结果;
    }
    >>>函数的调用格式:
    直接调用:函数调用的格式:函数名(参数一的值,参数二的值,……);
    事件调用:事件名=函数名( );


    2、函数声明的几点强调:
    ①函数名的声明,必须符合小驼峰法则 (首字母小写,之后每个单词首字母大写);
    ②参数列表,可以有参数,可以无参数,分别称为有参函数、无参函数;
    ③声明函数时的参数列表,称为“形参列表”(变量的名);
    调用函数时的参数列表,称为“实参列表”(变量的值);
    函数中,实际有效的参数取决于实参的赋值,未被赋值的形参,将为Undefined;
    ④函数如果需要返回值,可用return返回结果。
    调用函数时,使用var 变量名=函数名();的方式,接受返回结果;
    如果函数没有返回值,则接受结果为Undefined。

    ⑤函数中变量的作用域:
    在函数中,使用var声明的变量,默认为函数局部变量,只在函数内部能用;
    不用var声明的变量,默认为全局变量(函数中的全局变量,必须在函数调用后才能使用);
    函数的形参列表,为函数局部变量,只在函数内部使用。

    ⑥函数声明与函数调用,没有先后之分。即,调用语句可以写在声明语句之前。




    【匿名函数的声明及调用】
    1、声明一个匿名函数,直接赋给某个事件;
    window.onload=function(){ };


    2、使用函数表达式声明匿名函数;
    声明函数表达式:var func=function(){ }
    调用函数表达式:func();
    >>>使用匿名函数表达式,则调用语句,必须在声明语句之后,否则报错(对比
    常规函数声明与调用区别?)

    3、使用自执行函数,声明并直接调用匿名函数:
    ①!function(){ }();//使用任意运算符开头,一般使用!
    ②(function ( ){ }( ));//使用()将匿名函数之后的括号包裹
    ③(function( ){ })( ) //使用( )只包裹匿名函数表达式
    三种写法特点:
    ①结构清晰,开头加!,结尾加()。不容易乱,推荐使用;
    ②可以表明匿名函数与之后的()为一个整体,推荐使用;
    ③无法表明函数与之后()为一个整体,不推荐使用:

    window.onload=function(){
    console.log("使用widow.onload调用匿名事件");
    };
    
    
    
    function func1(){
    console.log("调用无参函数")
    }
    
    function func1(num1,num2,nnum3){
    var num=num1;
    console.log("调用有参函数");
    console.log("num为:"+num);
    console.log("参数1为:"+num1);
    console.log("参数2为:"+num2);
    console.log("参数3为:"+num3);
    return 1;
    }
    
    var num=func2(1,2,3,4);
    console.log(num);


    【JS中代码执行顺序】
    JS中代码运行,会先进行检查、装载,即声明变量、函数等操作:
    然后再进入执行阶段,(变量的赋值等属于执行阶段)

    所以,函数的声明属于检查装载阶段,函数的调用属于执行阶段。so,函数调用语
    句写在函数声明语句之前,井没有任何关系。

    所以,上述代码,执行流入:
    ----------检查装载阶段------
    var num;//声明变量
    function funcN() //声明函数
    --- ----执行阶段-----
    console. log(num);
    num=10;
    funNoi //执行函数的{ }中代码


    【函数内部的属性】
     Arguments对象:
    1、作用:用于保存调用函数时,所赋值的实参列表。
    >>>当我们调用函数,并使用实参赋值时,实际上参数已经保存到Arguments数组中。即使没有形参,也可以使用Arguments[n]的
    形式调用参数;

    2、Arguments数组的个数:取决于实参列表,与形参无关形(顺序从0开始);
    但,当第n个位置的形参、实参、Arguments都存在时,形参与Arguments是同步的(即在函数中修改其中一个值,另一个会同步变化)。

    function func4(){
    console.log("Arguments对象");
    console.log(arguments[0]);
    console.log(arguments[1]);
    console.log(arguments[2]);
    console.log(arguments[3]);
    console.log(arguments[4]);
    }
    func4(1,2,3,4)    

    3、Arguments.callee是Arguments的重要属性,,用于返回arguments所在的函数引用;

    arguments.callee( )可以调用自身函数执行;
    在函数内部调用函数自身的写法,被称为递归,所以arguments.callee( )是递归调用时常用的方式。


    this:函数调用语句所在的作用域,即,谁调用函数,this指向谁。

    以上内容为本次同大家分享的内容,感谢各位朋友的关注。如果有什么疑问或者建议,欢迎各位踊跃指正评论和点赞,可在评论区与博主进行互动,博主将第一时间予以回复,谢谢大家!再见!

  • 相关阅读:
    UVALive 4660 A+B
    UVALive 4660 A+B
    UVA10474 Where is the Marble?
    UVA10474 Where is the Marble?
    UVA1339 UVALive3213 POJ2159 ZOJ2658 Ancient Cipher【密码】
    hdu_1108 最小公倍数
    hdu_1106 排序
    hdu_1205 吃糖果
    hdu_1201 18岁生日
    hdu_1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/liuyongqi/p/6687174.html
Copyright © 2011-2022 走看看