IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Javascript 函数 -> 正文阅读

[JavaScript知识库]Javascript 函数

1.函数

?Number()/parseInt()/parseFloat()/alert()/prompt()...

?函数分为系统函数和自定义函数

?函数:是一个功能体,提供若干个数据,返回处理结果,用于封装要重复执行的代码

?(1)创建普通函数

function 函数名称(){

??函数体?—— 封装的要重复执行的代码

}

?函数只是创建不会执行函数体中的代码

?调用 ??

???函数名称() ???//执行函数体中封装的代码

?练习:创建函数getSum,在函数体中封装计算1~100之间所有整数的和并打印结果,最后调用多次

?

?(2)创建带有参数的函数

function 函数名称(参数列表){ ?//用于接收外部传递的数据

??函数体

}

??调用

???函数名称(参数列表) ?//实际传递的数据

??创建函数时的参数称为形参,调用函数时的参数称为实参,实参会赋值给形参,实参和形参的数量可以不匹配,如果形参未被赋值则为undefined。

??练习:创建函数getRun,传递两个参数,统计任意两个年份之间所有的闰年个数,调用多次。

?

?(3)创建带有返回值的函数

function ?函数名称(参数列表){

??函数体

??return 值;??//返回值,函数调用后得到的结果

}

?调用

????函数名称(参数列表)

??return用于返回函数调用的结果,如果函数中没有写return或者return后不加任何值则返回undefined,一旦return执行就会结束函数的执行。

?练习:创建函数getMax1,传递任意两个数字,返回最大值

function getMzx1(a,b){
?? ?if (a>b)
?? ?{
?? ??? ?return(a);
?? ?}else{
?? ??? ?return(b);
?? ?}
}console.log(getMzx1(3,5));

(2)function getMzx1(a,b){
?? ?return a>b ? a : b
}console.log(getMzx1(3,5));

?练习:创建函数getMax2,传递任意3个数字,返回最大值

function getMax2(a,b,c){
? ? //return a>b && a > c ? a: (b>c ? b : c);
?? ?var m = a>b?a:b;
?? ?return m >c ? m : c;
}
console.log(getMax2(3,5,1));

?练习:创建函数getStatus,传递订单的状态码,返回对应的汉字的状态

??1-等待付款??2-等待发货??3-运输中??4-已签收??5-已取消???其它-无法追踪

function getStatus(a){
?? ?switch (a)
?? ?{
?? ?case 1: return '等待付款';
?? ?case 2: return '等待发货';
?? ?case 3: return '运输中';
?? ?case 4: return '已签收';
?? ?case 5: return '已取消';
?? ?defaullt: return('无法追踪');
?? ?}
}
console.log(getStatus(2));

??使用switch-case进行多项判断

对比return和break

return用于函数中,结束函数的执行

break用于循环和switch-case,结束循环或者switch-case的执行

??练习:创建函数isPrime,传递任意一个数字,查看是否为素数,返回布尔型的值

function isPrime(n){
for(var i=2,count=0;i<n;i++){
?? ?if(n%i===0){
?? ??? ?return false;
?? ?}
}
?? ?return true;
}
console.log(rsPrime(7));

??练习:创建函数isRun,传递任意一个年份,查看是否为闰年,返回布尔型的值

function isRun(i){
?? ?return i %4 ===0 && i %100 !=0 || i %400===0
}
console.log(isRun(2021));

2.变量的作用域

?全局变量:在全局作用域下声明的变量就是全局变量,可以在任意的作用域访问到

?局部变量:在函数作用域下声明的变量就是局部变量,只能在当前的函数作用域下访问到

?全局作用域:函数以外的作用域

?函数作用域:函数以内的作用域

?函数内不加var声明的变量是全局变量

?变量提升:在程序执行前,会将var声明的变量提升到所在作用域的最前边,只是提升声明,赋值不提升

3.函数的作用域

?全局函数:在全局作用域下创建的函数,可以在任意作用域下访问到

?局部函数:在函数作用域下创建的函数,只能在当前函数作用域下访问到

?作用域链:多个作用域嵌套构成的作用域结构,在寻找变量的时候,先到当前的作用域下寻找,如果当前没有会不断往上一级作用域寻找。

?函数提升:程序执行前,会将函数提升到所在作用域的最前边,是整体提升

斐波那契数列

第1项、第2项都是1,从第3项开始,每项的值是前两项相加的和;

1???1 ??2 ??3 ??5 ??8 ??13 ??21...

?练习:创建函数fib,传递任意一项,返回斐波那契数列下这一项的值

function fib(n){
?? ?if (n===1 || n===2)
?? ?{
?? ??? ?return 1;
?? ?}
?? ?for(var i=3;i<=n;i++){
?? ??? ?a3=a1+a2;
?? ??? ?a1=a2;
?? ??? ?a2=a3;
?? ?}
?? ?return a3;
}
console.log(fib(7));

?练习:创建函数getSum,传递任意一个数字,计算1~任意数字之间所有整数阶乘的和。

function getSum(n) {
?? ?for (var i=1,j=1,sum=0;i<=n ;i++ )
?? ?{
?? ??? ?j*=i;
?? ??? ?sum+=j;
?? ?}
?? ?return sum;
}
console.log(getSum(5));

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 16:30:39  更:2021-08-12 16:32:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:03:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码