各位朋友大家好,上周更新给大家分享了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指向谁。

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

Javascript中的各结构的嵌套和函数的更多相关文章

  1. JavascriptS中的各结构的嵌套和函数

    各位朋友大家好,上周更新给大家分享了JavaScript的入门知识及各种常用结构的用法,那么,本次更新博主就跟大家更深入的聊一聊JS各结构的嵌套用法,及JS中及其常用的一种结构--函数.以下为函数和循 ...

  2. JavaScript中的分支结构

    说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的.程序=数据+算法通常我们所说的算法都可以通过"顺序","分支& ...

  3. JavaScript中两种类型的全局对象/函数【转】

    Snandy Stop, thinking is the essence of progress. JavaScript中两种类型的全局对象/函数 这里所说的JavaScript指浏览器环境中的包括宿 ...

  4. javascript中的队列结构

    1.概念 队列和栈结构不同,栈是一种后进先出的结构,而队列是一种先进先出的结构.队列也是一种表结构,不同的是队列只能在队尾插入元素,在队首删除元素,可以将队列想象成一个在超时等待排队付钱的队伍,或者在 ...

  5. javascript中的链表结构—从链表中删除元素

    1.概念 上一个博文我们讲到链表,其中有一个方法remove()是暂时注释的,这个方法有点复杂,需要添加一个Previous()方法找到要删除的元素的前一个节点,这一个博文我们来分析一下这个remov ...

  6. javascript中的链表结构

    1.定义 很多编程语言中数组的长度是固定的,就是定义数组的时候需要定义数组的长度,所以当数组已经被数据填满的时候,需要再加入新的元素就很困难.只能说在部分变成语言中会有这种情况,在javascript ...

  7. javascript中的表结构

    列表是一种常见的数据结构,通常列表是一族有徐的数据,列表中的数据项称为元素.在javascript中列表中的数据可以是任意类型的,列表中可以保存多少元素没有事先限定,实际使用时元素的数量只收到程序内内 ...

  8. JavaScript中的shift()、unshift()和pop()函数

    JavaScript中的shift()和pop()函数   1.shift()函数 定义 该函数从从数组中删除第一项,并返回该删除项. 用法示例 var fruits = ["Banana& ...

  9. Javascript中对文字编码的三个函数

    JavaScript中对文字编码主要有3个函数 escape,encodeURI, encodeURIComponent 相应3个解码函数 unescape, decodeURI, decodeURI ...

随机推荐

  1. Oracle入门《Oracle介绍》第一章1-2 Oracle 实例

    Oracle实例:是后台进程和内存结构的集合 一.内存结构 1.Oracle 实例启动时分配系统全局区 a.数据库信息存储于SGA,由多个数据库进程共享 1.共享池是对SQL.PL/SQL程序进行语法 ...

  2. 正则表达式--C#正则表达式的符号及例子

    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑. C#中经常会遇到要查找某一个字 ...

  3. LINQ 【高级查询】

    using (Data0216DataContext con = new Data0216DataContext()) {      List<Users> ulist = con.Use ...

  4. Java学习笔记之——break 和continue

    break:(中文翻译:打断) 可以使用在switch和循环结构中 表示的含义:立刻结束当前switch或者或者循环结构 continue:(中文翻译:继续) 只可以使用在循环结构中 表示含义:结束本 ...

  5. spring boot 之 Mybatis 配置

    ############################## mybatis配置 ######################################mybatis.configuration ...

  6. linux下怎么进入本机mysql

    sudo /etc/init.d/mysql startmysql -u xxxx -p*****mysql >_

  7. Linux笔记(二): WIN 10 Ubuntu 双系统

    (一)  说明 记录一次ubuntu安装过程及遇到的问题. 环境:WIN 10 单硬盘 (二)  ubuntu ISO文件下载 ubuntu 18.04 https://www.ubuntu.com/ ...

  8. etcd raft如何实现leadership transfer

    leadership transfer可以把raft group中的leader身份转给其中一个follower.这个功能可以用来做负载均衡,比如可以把leader放在性能更好的机器或者离客户端更近的 ...

  9. oracle 日期格式化 TO_CHAR (datetime) 修饰语和后缀

    Datetime Format Element Suffixes Suffix Meaning Example Element Example Value TH Ordinal Number DDTH ...

  10. [HDFS_add_2] SecondaryNameNode 滚动 NameNode 数据流程

    0. 说明 在 将 SecondaryNameNode 配置到 s105 节点上 的基础上进行 SecondaryNameNode 滚动 NameNode 数据流程 分析 1. SecondaryNa ...