HTML 学习笔记 JavaScript (函数)
1.函数的概念
在JS中,可能会定义非常多的相同代码或者功能相似的代码 这些代码可能需要大量重复的使用。这个时候我们就可以使用JS中的函数。
函数是封装了一段可以被重复使用的代码块。目的 就是让大量代码重复使用。
实例
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
alert("Hello World!");
}
</script>
</head> <body>
<button onclick="myFunction()">点击这里</button>
</body>
</html>
定义了一个button 当button被点击的时候 执行myFunction()函数 提示用户一些信息
2.函数的使用
JavaScript 函数语法
函数就是包裹在花括号中的代码块 前面使用了关键字function:
例如:
function myFunction() {
这里是要执行的代码块
}
function 声明函数的关键字 全部小写
函数不调用 自己不执行
当函数被调用的时候 会执行函数內的代码块
可以在某件事发生时直接调用函数(比如当用户点击按钮时) 并且可由JavaScript在任何位置调用
JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
调用带参数的函数
在调用函数时,您可以向其传递值,这些值被称为参数。
这些参数可以在函数中使用。
您可以发送任意多的参数,由逗号 (,) 分隔:
myFunction(argument1,argument2)
当你声明函数的时候 请把参数变作变量来声明
function myFunction(var1,var2)
{
这里是要执行的代码
}
变量和参数必须以一致的顺序出现 第一个变量就是第一个被传递的参数的给定的值 依次类推
如果实参的个数和形参的个数一直 则正常输入结果
如果实参和形参的个数不一致,如果多于形参个数 去形参个数的实参
如果实参的个数小于形参的个数 那就是一个其中的参数存在undefined 如果是数字类型的返回NaN
实例:
<body>
<button onclick="myFunction('tian','CEO')">点我啊</button>
<script> function myFunction(name,job) {
alert("welcome" +name +", the" +job);
} </script>
</body>
带有返回值的函数
有时,我们会希望函数将值返回调用它的地方。
通过使用 return 语句就可以实现。
在使用 return 语句时,函数会停止执行,并返回指定的值。
如果有return 返回的是值 如果没有return会返回undefined
function myFunction()
{
var x=5;
return x;
}
上面的函数会返回值 5。
注释:整个 JavaScript 并不会停止执行,仅仅是函数。JavaScript 将继续执行代码,从调用函数的地方。
函数调用将被返回值取代:
var myVar=myFunction();
myVar 变量的值是 5,也就是函数 "myFunction()" 所返回的值。
即使不把它保存为变量,您也可以使用返回值:
document.getElementById("demo").innerHTML=myFunction();
"demo" 元素的 innerHTML 将成为 5,也就是函数 "myFunction()" 所返回的值。
您可以使返回值基于传递到函数中的参数:
实例
计算两个数字的乘积,并返回结果:
function myFunction(a,b)
{
return a*b;
} document.getElementById("demo").innerHTML=myFunction(4,3);
"demo" 元素的 innerHTML 将是:12
在您仅仅希望退出函数时 ,也可使用 return 语句。返回值是可选的:
function myFunction(a,b)
{
if (a>b)
{
return;
}
x=a+b
}
如果 a 大于 b,则上面的代码将退出函数,并不会计算 a 和 b 的总和。
局部的JavaScript 变量
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
全局 JavaScript 变量
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
JavaScript变量的生存期
JavaScript变量的生命期从他们被声明的时间开始
局部变量会在函数运行以后被删除
全局变量会在页面被关闭后被删除。
向未声明的JavaScript 变量来分配值。
如果 你把值分配给尚未声明的变量 该变量将自动作为全局变量声明
carname="Volvo";
将声明一个全局变量carname 就算是他在函数內执行。
arguments 的使用
当我们不确定有多少个参数传递的时候,可以使用arguments来获取。在js中 arguments实际上是当前函数的一个内置对象 所有函数都内置了一个
arguments对象。arguments对象存储了传递的所有实参。
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//arguments展示形式是一个伪数组 因此可以进行遍历 伪数组具有以下特点
//具有length属性 可以按照索引访问存储 不能使用push pop等方法
function fn() {
console.log(arguments);//里面存储了传递的所有实参
}
fn(1, 2, 3);
</script>
</head>
函数可以调用另一个函数
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
function fn1() {
console.log(11);
} function fn2() {
fn1()
}
</script>
</head>
函数的第二种声明方式
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//第二种声明方式 匿名函数
var fun = function () {
console.log('我是函数表达式');
}
fun();
//fun 是变量名 不是函数名
//函数表达式方式声明方式跟变量神明方式差不多 只不过变量里面存的是值
//而函数表达式里面存的是函数。
//也可以传递参数
var fun1 = function (name) {
console.log(name);
}
fun1();
</script>
</head>
HTML 学习笔记 JavaScript (函数)的更多相关文章
- Matlab学习笔记 figure函数
Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...
- matlab学习笔记 bsxfun函数
matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...
- 学习笔记---Javascript事件Event、IE浏览器下的拖拽效果
学习笔记---Javascript事件Event.IE浏览器下的拖拽效果 1. 关于event常用属性有returnValue(是否允许事件处理继续进行, false为停止继续操作).srcE ...
- matlab学习笔记13_1 函数返回值
一起来学matlab-matlab学习笔记13函数 13_1 函数返回值 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://blog.csdn.net/qq_36556 ...
- [JS学习笔记]Javascript事件阶段:捕获、目标、冒泡
当你在浏览器上点击一个按钮时,点击的事件不仅仅发生在按钮上,同时点击的还有这个按钮的容器元素,甚至也点击了整个页面. 事件流 事件流描述了从页面接收事件的顺序,但在浏览器发展到第四代时,浏览器开发团队 ...
- swift学习笔记2——函数、闭包
之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...
- HTML 学习笔记 JavaScript(面向对象)
现在让我们继续跟着大神的脚步前进 学习一下JavaScript中的面向对象的思想,其实作为一个iOS开发者,对面向对象还是比较熟悉的,但是昨晚看了一下Js中的面向对象,妈蛋 一脸萌比啊.还好有大神.让 ...
- haskell学习笔记_函数
一开始学习函数式编程语言就被告知函数式编程语言是一种“定义式”的语言,而不是一种命令式的语言,在学习haskell的函数语法时,此感觉更加强烈,haskell的函数定义倾向于一种类似C++里面的swi ...
- Python学习笔记之函数
这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...
随机推荐
- Android Animation学习(四) ApiDemos解析:多属性动画
Android Animation学习(四) ApiDemos解析:多属性动画 如果想同时改变多个属性,根据前面所学的,比较显而易见的一种思路是构造多个对象Animator , ( Animator可 ...
- iOS中sqlite版本号
https://github.com/yapstudios/YapDatabase/wiki/SQLite-version-(bundled-with-OS) https://github.com/y ...
- svn黄色叹号解决
客户端是TortoiseSVN的话,在该文件或文件夹上点右键,选择TortoiseSVN——revert
- 解决由OpenShift自带的APC加速器造成的代码无法及时生效的问题
如果你在使用你的Openshift时出现了这样的问题,那就说明APC加速器导致了此故障 1.上传后的代码运行效果没有变化 2.Wordpress翻来覆去自己重复升级一个版本(←Wordpress在自嗨 ...
- RFID应用范围
RFID应用范围 (1)物流: 物流过程中的货物追踪,信息自动采集,仓储应用,港口应用,邮政,快递 (2)零售: 商品的销售数据实时统计,补货,防盗 (3)制造业: 生产数据的实时监控,质量追踪,自动 ...
- sql server使用中遇到的问题记录
一.sql server 不能连接远程服务器,但可以连接本地的数据库 我目前用的是sql server 2012 sp1,用着用着突然就不能连接远程服务器上的数据库了,崩溃了一天... 修复试了,卸载 ...
- ofbiz 本地化及邮件设置126邮箱
ofibz登陆功能有通过电子邮件找会密码的功能,但找回密码功能需要配置一个发送email的邮箱账号和smtp服务器的配置,具体配置如下: 1:在ofbiz数据库的表product_store_emai ...
- 我的ElasticSearch集群部署总结--大数据搜索引擎你不得不知
摘要:世上有三类书籍:1.介绍知识,2.阐述理论,3.工具书:世间也存在两类知识:1.技术,2.思想.以下是我在部署ElasticSearch集群时的经验总结,它们大体属于第一类知识“techknow ...
- Python所有的错误都是从BaseException类派生的,常见的错误类型和继承关系
https://docs.python.org/2/library/exceptions.html#exception-hierarchy BaseException +-- SystemExit + ...
- golang和vim-go安装配置
一.Golang安装 1.下载golang安装包http://golangtc.com/download,我这里下载的是go1.6rc2.linux-amd64.tar.gz. 2.解压到安装目录,我 ...