javascript函数的笔记
时间:2020-03-24
本文章向大家介绍javascript函数的笔记,主要包括javascript函数的笔记使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、函数的概念
封装一段可以被重复调用执行的代码块来实现大量代码的重复使用
2、函数的使用分为两步:声明函数 和 调用函数
3、声明函数的关键字全部是小写
4、函数名一般是动词、函数不调用自己不执行
5、函数的封装
函数的封装就是把一个或者多个通过函数的方式封装起来,对外只提供一个简单的函数接口
6、形参和实参
在声明函数的括号里面是形参
形参是接受实参的
在调用函数的括号里面是实参
7、函数的参数可以有,也可以没有不限制个数
参数的作用:在函数内部的某些值不固定的时候,我们可以通过参数在调用的时候传递不同的值进去
注意:
多个参数之间逗号隔开
形参可以看做是不用声明的变量
如果实参的个数多余形参,会取到形参的个数
如果实参的个数小于形参,多出来的形参定义为undefined
8、函数的返回值
函数这是实现某种功能,最终的结果需要返回给函数的调用者
只要函数遇到return 就把后面的结果返回给函数的调用者
9、遇到return会终止函数
return 只能返回一个值,如果有多个值就只返回最后一个值
10、我们的函数如果没有return,则返回undefined
break,continue,return区别
break:结束当前循环体(for,while)
continue:跳出本次循环,继续执行下次循环(for,while)
return: 不仅可以退出循环,还能够返回return语句的值,同时还可以结束当前的函数体内的代码
11、arguments使用
当我们不确定有多少个参数传递的时候,可以用arguments来获取,arguments存储了传递的使用实参
只有函数才有arguments
伪数组具有
数组的length属性
按照索引的方式进行存储
他没有真正数组的方法
12、函数的两种声明方式
利用函数关键字自定义函数
function 函数名(){}
函数表达式(匿名函数)
var 变量名=function(){}
变量名()
变量名不是函数名
函数表达式调用的时候也可以传递参数
1 function sum(num1, num2) { 2 var num = 0; 3 for (var i = num1; i <= num2; i++) { 4 num += i; 5 } 6 console.log(num); 7 } 8 sum(1, 100) 9 10 // 声明函数 11 function hello() { 12 // 函数体 13 console.log("hello word"); 14 15 } 16 // 函数调用 17 // 函数名() 18 hello() 19 20 21 // 1~100之间的累加和 22 function getSum() { 23 var sum = 0; 24 for (var i = 1; i <= 100; i++) { 25 sum += i 26 } 27 console.log(sum); 28 } 29 getSum() 30 31 // function 函数名(形参1, 形参2) { 32 // 函数体 33 // } 34 // 函数名(实参1, 实参2) 35 36 37 // 求任意两个数的和 38 function getsum(num1, num2) { 39 console.log(num1 + num2); 40 } 41 getsum(1, 6) 42 // 求任意两个数之间的和 43 function getsums(start, end) { 44 var sum = 0; 45 for (var i = start; i <= end; i++) { 46 sum += i 47 } 48 console.log(sum); 49 } 50 getsums(2, 5) 51 52 53 // 形参和实参不匹配的问题 54 function getmax(num1, num2) { 55 console.log(num1 + num2); 56 } 57 getmax(2, 4) 58 getmax(2, 4, 5) 59 getmax(2) 60 61 62 // return 63 // function 函数名() { 64 // return 需要返回的结果 65 // } 66 // 函数名() 67 function getResult() { 68 return 222 69 } 70 console.log(getResult()); 71 72 // 完善任意两个数的和 73 function getnum(num1, num2) { 74 return num1 + num2 75 } 76 console.log(getnum(3, 4)); 77 78 // 求任意两个数的最大值 79 function getMax(num1, num2) { 80 // 方法一 81 if (num1 > num2) { 82 return num1 83 } else { 84 return num2 85 } 86 // 方法二 87 return num1 > num2 ? num1 : num2 88 } 89 console.log(getMax(8, 6)); 90 91 92 // 求数组中的最大值 93 // var newArr = [666, 4, 65, 11, 36, 89, 2] 94 function getArr(arr) { 95 96 var max = arr[0] 97 for (var i = 1; i < arr.length; i++) { 98 if (arr[i] > max) { 99 max = arr[i] 100 } 101 } 102 return max 103 } 104 console.log(getArr([666, 4, 65, 11, 36, 89, 2])); 105 // 方法二 106 var re = getArr([666, 4, 65, 11, 33336, 89, 2]) 107 console.log(re); 108 109 110 // 任意两个数的加减乘除 111 function getResult(num1, num2) { 112 return [num1 + num2, num1 - num2, num1 * num2, num1 / num2] 113 } 114 var look = getResult(1, 3) 115 console.log(look);
1 // 用户任意输入两个数(简单的计算器小功能),并且推出结果 2 function getCalculator() { 3 var num1 = Number(prompt("请输入第一个数字")) 4 var num2 = Number(prompt("请输入第二个数字")) 5 var choice = (prompt("请输入运算符号")) 6 if (choice == "+") { 7 return num1 + num2 8 } else if (choice == "-") { 9 return num1 - num2 10 } else if (choice == "*") { 11 return num1 * num2 12 } else if (choice == "/") { 13 return num1 / num2 14 } 15 } 16 alert(getCalculator()); 17 18 // 任意输入三个数字,弹出最大值 19 function getMax() { 20 var num1 = Number(prompt("请输入第一个数字")) 21 var num2 = Number(prompt("请输入第二个数字")) 22 var num3 = Number(prompt("请输入第三个数字")) 23 var newArr = [num1, num2, num3] 24 var list = [] 25 newArr.sort(function (a, b) { 26 return b - a 27 }) 28 var list = newArr[0] 29 alert(list); 30 } 31 getMax() 32 33 34 function fn() { 35 console.log(arguments); 36 37 } 38 fn(1, 2, 3, 4) 39 40 // 封装一个函数任意翻转数组 41 function reverse(arr) { 42 var newArr = [] 43 for (var i = arr.length - 1; i >= 0; i--) { 44 newArr[newArr.length] = arr[i] 45 } 46 return newArr 47 } 48 var arr1 = reverse([2, 355, 664, 34, 67, 22]) 49 console.log(arr1); 50 51 52 // 利用函数冒泡排序 53 function arrSort() { 54 var arr = [5, 66, 99, 4, 11, 5] 55 for (var i = 0; i <= arr.length - 1; i++) { 56 for (var j = 0; j <= arr.length - i - 1; j++) { 57 if (arr[j] > arr[j + 1]) { 58 var temp = arr[j] 59 arr[j] = arr[j + 1] 60 arr[j + 1] = temp 61 } 62 } 63 } 64 return arr 65 } 66 console.log(arrSort()); 67 68 69 // 函数互相调用 70 function fun1() { 71 console.log("888"); 72 } 73 74 function fun2() { 75 fun1() 76 } 77 fun2() 78 79 80 // 判断是否是闰年 81 function isRunYear(year) { 82 // 如果是闰年返回true,否则返回false 83 var flag = false; 84 if (year % 4 == 0 && year % 100 != 0 || year && 400 == 0) { 85 flag = true 86 } 87 return flag 88 } 89 console.log(isRunYear(2012)); 90 91 // 判断用户输入的年份输出二月份天数 92 function backDay() { 93 var year = prompt("请输入年份") 94 if (isRunYear(year)) { 95 alert("当前是闰年,二月份有29天") 96 } else { 97 alert("当前不是闰年,二月份有28天") 98 } 99 } 100 backDay()
原文地址:https://www.cnblogs.com/xf2764/p/12557767.html
- 使用SQL来分析数据库参数(二)(r10笔记第82天)
- Golang不定参数
- [go语言]利用缓冲信道来实现网游帐号验证消息的分发和等待
- 转--Golang语言版 ssh口令破解工具
- cubieboard(树莓派)安装Ubuntu+Apache+PHP+Mysql
- Oracle 12c里的几点补充(一)(r11笔记第7天)
- Oracle备库的PDB无法连接的问题(r11笔记第6天)
- Golang语言社区--模板的使用
- Golang语言写Web 应用程序
- 强制wordpress后台HTTPS
- Golang语言 Cookie的使用
- Golang 语言调用动态库实现OpenGL及windows的API编程
- MySQL中的Online DDL(第一篇)(r11笔记第3天)
- 转--quick-cocos做客户端,golang做服务端,实现HTTP通信
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Elasticsearch 内部数据结构深度解读
- 关于 Elasticsearch 段合并,这一篇说透了!
- 解了这十道C语言题,你敢说你精通C语言?
- 微服务中使用Maven BOM来管理你的服务版本
- 设计模式之代理模式(文末赠书)
- 使用Spring IoC容器:选BeanFactory还是ApplicationContext?
- Stream使用这么久,它是如何提高遍历集合效率?
- FastDFS 分布式文件系统入门
- 「翻译」 如何Bypass rbash
- 代码审计-.NET下的序列化与反序列化(BinaryFormatter)
- 深入探讨 JavaScript 逻辑赋值运算符
- Spring IoC依赖注入:Spring提供了哪些依赖注入模式和类型呢?
- 谈谈volatile
- 【V-REP自学笔记(八)】控制youBot抓取和移动物体
- Gson 简单使用姿势小结