Js学习第十天----函数
函数
什么是函数?函数是由事件驱动的或者当他被调用时运行的可反复使用代码块.预计没明确,个人觉得函数就是能完毕一个功能的代码块.
看个案例:
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
alert("Hello World!");
}
</script>
</head>
<body>
<button onclick="myFunction()">点击这里</button>
</body>
</html>
等等,前面说的用functionkeyword声明一个函数你总该知道吧?
别搞笑啦,你肯定知道.
JS函数语法
函数就是包裹在花括号里的代码块,前面使用了keywordfunction:
function functionName()
{
这里是要运行的代码
}
当调用函数时,会发生什么呢?你应该知道怎么调用吧!
能够在某事件发生时直接调用函数(比方用户点击button时),而且可由JS在不论什么位置进行调用.
提示:JS对大写和小写敏感吗?
所以functionkeyword怎么样写?
调用带參数的函数
在调用函数时,您能够想起传递值,这些值成为參数.
这些參数能够在函数中使用.
你能够发送人一多的參数,由逗号(,)分隔:
function method(argument1,argument2,...argumentn)
{}
当你声明函数时,请把參数作为变量来声明:
function myFunction(var1,var2)
{
要运行的代码
}
变量和參数必须以抑制的顺序呢出现.第一个变量就是第一个被传递的參数的给定值,以此类推.
实例:
<script>
function method(name,age)
{
alert("name: "+name+", age: "+age);
}
method("syx",22);
</script>
事实上这样单纯的调用没啥意义,对吧.主要是要有一种牛X的效果,能够通过一个事件来触发一个函数.就像这样:
<script>
function method(name,age)
{
alert("name: "+name+", age: "+age);
}
</script>
</head>
<body>
<button onclick="method('syx',22)">单击我试试</button>
</body>
带有返回值的函数
有时,我们会希望函数将值返回调用它的地方
通过使用return语句便能够实现
在使用return语句时,函数会停止运行,并返回指定的值.
语法
function Method()
{
var x=5;
return x;
}
上面的函数会返回5.
凝视:整个JS并不会停止运行,不过函数.JS将继续运行代码,从调用函数的地方.
函数调用将被返回值代替:
var value=Method();
value变量的值是5,也就是函数Method()所返回的值.
即使不把它保存为变量,您也能够使用返回值.
document.getElementById(“demo”).innerHTML=Method();
“demo”元素的innerHTML将成为5,也就是函数”Method()”所返回的值.
你能够使返回值基于传递到函数中的參数:
<p>本例调用的函数会运行一个计算。然后返回结果:</p>
<p id="demo"></p>
<script>
function myFunction(a,b)
{
return a*b;
}
document.getElementById("demo").innerHTML=myFunction(4,3);
</script>
</body>
在你只希望退出函数时,也可使用return语句.返回值是可选的:
function myFunction(a,b)
{
if(a>b)
{
return ;
}
x=a+b
}
假设a>b,则上面的代码就退出,并不会计算a+b的值.
局部JS变量
在Js函数内部声明的变量(使用var)是局部变量,所以仅仅能在函数内部訪问它.(该变量的作用域是局部的).
你能够在不同的函数中实名名称同样的局部变量,由于仅仅有声明过变量的函数才干识别出该变量.
仅仅要函数执行完成,本地变量就会被删除.
全局JS变量
在函数外声明的变量是全局变量,网页上的全部脚本和函数都能訪问它.
JS变量的生存期
JS变量的生命期从它们被声明的时间開始.
局部变量会在函数执行以后被删除.
全局变量会在页面关闭后被删除.
向未声明的JS变量来分配值
假设您把值赋给尚未声明的变量,该变量将会被自己主动作为全局变量声明.案例:
value=”hello,world”;
将生命一个全局变量value.及时他在函数内运行.
Js学习第十天----函数的更多相关文章
- Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G
code&monkey Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...
- Ext JS学习第十天 Ext基础之 扩展原生的javascript对象(二)
此文来记录学习笔记: 今天继续说Ext.Array,Ext.Function,Ext.Date,Ext.Error ------------------------------------------ ...
- (转)js学习笔记()函数
1.调用函数时,如果参数多于定义时的个数,则多余的参数将会被忽略,如果少于定义时的个数则缺失的参数数会被自动赋予undefined值. 2.如果是用function语句声明的函数定义则不可以出现在循环 ...
- Ext JS学习第十天 Ext基础之动态加载JS文件(补充)
此文用来记录学习笔记: •Ext4.x版本提供的一大亮点就是Ext.Loader这个类的动态加载机制!只要遵循路径规范,即可动态加载js文件,方便把自己扩展组件动态加载进来,并且减轻浏览器的压力. • ...
- Ext JS学习第十五天 Ext基础之 Ext.DomQuery
此文同来记录学习笔记 •Ext.dom.Query 嗯,这个类一看就是到时做什么事儿的,不用我去过多的解释了.这个类一共提供了8个方法供开发人员去使用. •要说最常用的方法,无非就是Ext.query ...
- Ext JS学习第十四天 Ext基础之 Ext.DomHelper
此文用来记录学习笔记 •我们已经学过了Element这个类,无疑是非常强大的,里面提供了丰富的方法供我们使用,但是Ext为了更加的方便我们去操作DOM元素,特提供了DomHelper这个辅助的工具 ...
- C++学习基础十六-- 函数学习笔记
C++ Primer 第七章-函数学习笔记 一步一个脚印.循序渐进的学习. 一.参数传递 每次调用函数时,都会重新创建函数所有的形参,此时所传递的实参将会初始化对应的形参. 「如果形参是非引用类型,则 ...
- js学习(4) 函数
JavaScript有三种声明函数的方法 (1)function命令 function print(s) { console.log(s); } (2)函数表达式 1.var print = func ...
- js学习笔记34----自执行函数
自执行函数的写法通常如下: 方式1: (function(){ *** 写事件处理代码 *** }()) 方式2: (function(){ *** 写事件处理代码 *** })() 方式3: !(f ...
随机推荐
- Android目录结构
|ABI-- 应用程序二进制接口(application binary interface,ABI) |-- Makefile |-- bionic (bionic C库) ...
- LeetCode(106) Construct Binary Tree from Inorder and Postorder Traversal
题目 Given inorder and postorder traversal of a tree, construct the binary tree. Note: You may assume ...
- django的rest framework框架——认证、权限、节流控制
一.登录认证示例 模拟用户登录,获取token,当用户访问订单或用户中心时,判断用户携带正确的token,则允许查看订单和用户信息,否则抛出异常: from django.conf.urls impo ...
- 【13】javascript跨域通信
javascript跨域通信 同源:两个文档同源需满足 协议相同 域名相同 端口相同 跨域通信方法: 01,通过设置img,script,link,iframe元素的src,href属性为目标url. ...
- hdu2255 奔小康赚大钱 KM 算法
参见这里 #include <iostream> #include <cstring> #include <cstdio> using namespace std; ...
- 【bzoj4826】[Hnoi2017]影魔 单调栈+可持久化线段树
题目描述 影魔,奈文摩尔,据说有着一个诗人的灵魂.事实上,他吞噬的诗人灵魂早已成千上万.千百年来,他收集了各式各样的灵魂,包括诗人.牧师.帝王.乞丐.奴隶.罪人,当然,还有英雄.每一个灵魂,都有着自己 ...
- BZOJ 4004 [JLOI2015]装备购买 ——线性基
[题目分析] 题目很简单,就是要维护一个实数域上的线性基. 仿照异或空间的线性基的方法,排序之后每次加入一个数即可. 卡精度,开long double 和 1e-6就轻松水过了. [代码] #incl ...
- [luoguP2606] [ZJOI2010]排列计数(DP)
传送门 如果能够根据题意看出这是一个堆的话,那么就有些思路了.. 首先堆顶必须是最小元素,然后左右儿子可以预处理出来都有多少个数, 把剩余的数任意分配给两个儿子,用排列组合即可 dp(now) = d ...
- 刷题总结——小z的袜子(bzoj2038)
题目: Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把 ...
- Ubuntu 常用命令和一些 tips
001. ubuntu 解压.tar.xz文件到另一个文件夹:sudo tar -xvJf ***.tar.xz -C /usr/src sudo 超级用户tar [选项...][file]...-x ...