JavascriptS中的各结构的嵌套和函数
各位朋友大家好,上周更新给大家分享了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指向谁。
以上内容为本次同大家分享的内容,感谢各位朋友的关注。如果有什么疑问或者建议,欢迎各位踊跃指正评论和点赞,可在评论区与博主进行互动,博主将第一时间予以回复,谢谢大家!再见!
JavascriptS中的各结构的嵌套和函数的更多相关文章
- Javascript中的各结构的嵌套和函数
各位朋友大家好,上周更新给大家分享了JavaScript的入门知识及各种常用结构的用法,那么,本次更新博主就跟大家更深入的聊一聊JS各结构的嵌套用法,及JS中及其常用的一种结构——函数.以下为函数和循 ...
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...
- JS中的运算符和JS中的分支结构
JS中的运算符 1.算术运算(单目运算符) + .-.*. /. %取余.++自增 .--自减 +:两种作用,链接字符串/加法运算.当+两边全为数字时,进行加法运算:当+两边有任意一边为字符串时,起链 ...
- php总结2——php中的变量、数据类型及转换、运算符、流程控制中的分支结构
2.1 php中的变量: 定义变量:$变量名称=值: 变量名称:$开头 $之后的第一位必须是字母 $第二位之后可以是字母.数字或者是下划线.习惯上变量名称有实际含义,第二个单词后首字母大 ...
- 047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用
047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...
- 036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构
036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构 ...
- 如何系统学习C 语言(中)之 结构体篇
1,结构体 在前面我们知道变量和数组都可以用来存储数据,变量用来存储单个数据,数组可以用来存储一组同类型的数据,但你有没有发现--它们都只适合单一属性的数据.那现实生活中,很多对象都是具有多属性的.例 ...
- 【C++】结构体/结构体数组/结构体指针/结构体嵌套/函数参数/const
一.结构体声明 struct Student { //成员列表 string name; int age; int score; }; //s3;定义时直接声明 int main() { struct ...
- XmlRpc.net 入参结构体嵌套的转义操作
项目使用C#开发,需要使用XmlRpc和Linux服务器端交互,用的是XmlRpc.net. 普通的程序调用入参和出差都没有问题,今天遇到入参结构体嵌套,结果 args 入参在服务器端不能解析.抓包数 ...
随机推荐
- VS2010 MSDN的介绍
5 cout << temp; 博客园第一篇文章的开始. VS2010 MSDN的文档介绍 https://msdn.microsoft.com/zh-cn/library/dd8 ...
- JS分两种数据类型,你都知道吗?
大牛请无视此篇! JS主要分基本数据类型和引用数据类型,这两者区别可大了,此篇看完必有长进,下面进入正题 首先我们看下什么是基本数据类型(概念我就不说了,直接上代码): var i = 10: var ...
- USTC 1119 graph 图的同构
USTC 1119 图的同构的严格定义可以参考离散数学:The simple graphs G1=(V1,E1) and G2=(V2,E2)are isomorphic if there exist ...
- 一道面试题引发的对javascript类型转换的思考
最近群里有人发了下面这题:实现一个函数,运算结果可以满足如下预期结果: add(1)(2) // 3 add(1, 2, 3)(10) // 16 add(1)(2)(3)(4)(5) // 15 对 ...
- MySQL之乱码问题解决详解
今天在写一个项目的时候,在数据库中手动插入数据不会产生中文乱码,但是通过javaWeb却出现乱码,把提交表单和响应中的乱码问题解决后,还是乱码.所以我锁定一定是我的mysql数据库中出现了乱码的现象.
- Jquery弹出窗口
今天讲了Jquery的弹出窗口的组成和用法: 先把引用文件的代码写好: // 每个弹窗的标识 var x =0; var idzt = new Array(); var Window = functi ...
- Django and Djangorestframework
NOte Today, another day debuging with my teammates, and I just tried to make complete comprehension ...
- Nginx+IIS+Redis 处理Session共享问题 2
接下来主要说下利用nginx来测试 两台Windows server 1.10.120.131.210 - 端口84部署demo 2.10.120.131.211 - 端口84部署demo ngi ...
- wemall app微信商城系统Android之通用通知接口demo
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享Native(原生)支付模式一demo,供技术 ...
- linux codeblocks汉化
参考window汉化codeblocks,linux下有点麻烦,就是要找到codeblocks的文件安装在哪里.一般来说,linux下安装的软件大都在/usr/share/文件夹下,所以进入/usr/ ...