Skr-Eric的Javascript课堂(三)——JS的函数、变量作用域、数组

函数

1. 函数就是一段待执行的代码段

 

2. 函数可以实现功能的封装,可以实现代码的复用

 

3. 函数使用 :

1. 函数声明

2. 函数调用

 

4. 语法 :

1. 函数声明

1. 使用function关键字进行函数的声明

et :

function 函数名 (参数列表){

函数体

return;

}

2. 函数名自定义,普通函数的函数名尽量使用小写或小驼峰

3. 参数列表,函数体执行所需的数据

4. 函数体就是待执行的代码段

5. return 表示返回值,将函数执行的结果返回给外界,

 只能返回一个值,return后的代码都不执行

  2. 函数调用

语法 :函数名(参数列表);

注意 :如果函数存在返回值,需要定义变量接收

var res = 函数名();

3. 使用 :

1. 函数先声明,后调用(非强制)

  2. 参数传递 :

函数声明时定义的参数列表,称为形参,只声明变量,

不考虑赋值

et :

function sum (a,b){

var c = a + b;

}

函数调用时给出的参数,是实际参数。调用的过程中,

将实际参数赋值给形参,参与函数体中代码的执行。

et :

sum(10,20);  //a = 10;b = 20;

3. 函数可以声明多个参数,使用,隔开

4. 函数声明和调用时的参数个数可以不匹配

et :

sum(10);

sum(10,20,30);

4. 匿名函数

省略函数名的函数

语法 :

1. var fn = function (){};

将匿名函数保存给一个变量,

使用变量名()的方式调用

2. 匿名函数自执行

(function (){

})();

第一个()中是匿名函数,正常书写

第二个()表示函数调用,正常传参

练习 :

1. 改版日期计算器

1. 在页面中添加按钮,点击时执行程序

<button onclick="alert();"></button>

2. 将闰年判断的代码封装成函数

3. 整体计算过程封装成函数,按钮点击调用

 

变量作用域

1. 变量起作用的范围

 

2. 分类 :

1. 全局作用域

全局作用域中的变量为全局变量,在整个程序的任何

地方都可以访问和使用。

使用 :

1. 所有在函数外部创建的变量,都是全局变量

2. 省略var关键字创建的变量,都是全局变量

2. 局部作用域(函数作用域)

在函数体内部起作用的变量,称为局部变量

函数体的{}就是局部作用域

使用 :

在函数体中使用var关键字定义的变量,就是局部变量。

只在当前作用域(函数体)中起作用,外界无法访问

3. 作用域查找 :

如果函数内部与外部定义了同名的变量,

函数体中访问,采用就近原则。

先查找当前局部作用域,找不到再到上一级作用域中查找

 

 数组

1. 有序的元素序列,用来存放一组数据

 

2. 创建 :

1. var arr1 = [];  //创建空数组

2. var arr2 = new Array(); //创建空数组

3. 初始化数据

 1. var arr3 = [10,20,30]; //创建的同时初始化元素

 2. 根据下标初始化元素 :

数组会为元素自动分配下标,从0开始

 var arr4 = [];

 arr4[0] = 100;

 arr4[3] = 200;

 3. 使用new关键字初始化

var arr5 = new Array(10,20,30);

4. 初始化数组长度

var arr6 = new Array(5);//创建长度为5的数组

 

3. 使用 :

1. 使用"数组名[index]"的方式操作数组元素

根据下标访问元素 :arr[8]

根据下标修改元素 :var a = arr[8];

2. 数组是对象类型

对象是由属性和方法组成的

通过点语法访问对象的属性和方法

 1. 属性 :

length 获取数组长度

arr.length;

清空数组 :

arr.length = 0;

3. 遍历数组

循环输出数组元素

et :

for(var i = 0; i <= arr.length - 1; i ++){

console.log(arr[i]);

}

//倒序

for(var i = arr.length -1; i >= 0 ; i --){

}

练习 1:

1. 循环接收用户输入的数据

2. 将用户输入的数据存在数组中

3. 当用户输入exit时,停止输入

4. 存储结束之后,输出数组元素

练习 2:

创建包含若干元素的数组(number),

遍历数组,输出最大值

练习 3:

创建包含若干数字的数组,接收用户输入,

判断数组中是否存在用户输入的数字,存在

则返回对应的下标,不存在提示用户数据不存在

练习 4:

创建数组,保存三个数据(number),比较数据大小,

并进行排序,最终按照从小到大的顺序输出

 

4. 数组方法 :

1. 常用API

1. toString()

将数组内容转换为字符串,并返回。

2. join()

将数组中元素拼接成一个字符串,并返回。

参数 :可以指定数组元素之间的连接符,省略的话,

默认以逗号连接

et :

var arr = [1,2,3];

arr.join();   //返回字符串 "1,2,3"

arr.join('-'); //返回字符串 "1-2-3"

3. reverse()

反转数组元素,倒序重新排列元素

返回反转后的数组

注意 :

reverse()是对当前数组结构的调整,不会生成新数组,

直接反转原始数组

可以不接收返回值

4. sort()

1. 将数组内容进行排序,返回排序后的数组

2. 默认按照Unicode编码升序排列

注意 :

sort()方法也是对数组结构的调整,直接对原数组

的元素进行排序,会改变原始数组

3. 参数可以为自定义的排序函数

et :

function sortAsc(a,b){

return b - a;

}

arr.sort(sortAsc);

5. push(data)

表示在数组的末尾追加元素

参数 :可以是一个,也可以是多个,多参数之间使用

逗号隔开。

返回值 :返回新数组的长度

6. pop()

表示删除数组最后一个元素

返回值 :返回被删除的元素

数组的存储结构 :

数组在内存中使用栈结构存储,先进后出

7. unshift(data)

向数组的头部添加元素

参数 :可以是一个元素,也可以是多个元素

返回值 : 返回添加元素之后的数组长度

8. shift()

删除数组的头部元素

返回值 :返回被删除的元素

 

5. 二维数组 :

数组中的每一个元素都是一个小数组

et :

var arr = [["唐僧","悟空"],["宝玉","宝钗"],["伏地魔"]];

访问元素 :

arr[0]; //["唐僧","悟空"]

arr[0][0]; //"唐僧"

练习 :

1. 接收用户输入的数字

2. 转换为二进制并输出

var n = 10;

10 / 2 = 5  ------ 0

5 / 2 = 2 ---------1

2 / 2 = 1 ---------0

1 / 2 = 0 ---------1

10的二进制 1010

 

 

 

想要看更多的课程请微信关注SkrEric的编程课堂

 

内容概要:本文档介绍了基于3D FDTD(时域有限差分)方法在MATLAB平台上对微带线馈电的矩形天线进行仿真分析的技术方案,重点在于模拟超MATLAB基于3D FDTD的微带线馈矩形天线分析[用于模拟超宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]宽带脉冲信号通过天线结构的传播过程,并计算微带结构的回波损耗参数(S11),以评估天线的匹配性能和辐射特性。该方法通过建立维电磁场模型,精确求解麦克斯韦方程组,适用于高频电磁仿真,能够有效分析天线在宽频带内的响应特性。文档还提及该资源属于一个涵盖多个科研方向的综合性MATLAB仿真资源包,涉及通信、信号处理、电力系统、机器学习等多个领域。; 适合人群:具备电磁场与微波技术基础知识,熟悉MATLAB编程及数值仿真的高校研究生、科研人员及通信工程领域技术人员。; 使用场景及目标:① 掌握3D FDTD方法在天线仿真中的具体实现流程;② 分析微带天线的回波损耗特性,优化天线设计参数以提升宽带匹配性能;③ 学习复杂电磁问题的数值建模与仿真技巧,拓展在射频与无线通信领域的研究能力。; 阅读建议:建议读者结合电磁理论基础,仔细理解FDTD算法的离散化过程和边界条件设置,运行并调试提供的MATLAB代码,通过调整天线几何尺寸和材料参数观察回波损耗曲线的变化,从而深入掌握仿真原理与工程应用方法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值