函数

什么是函数?函数是由事件驱动的或者当他被调用时运行的可反复使用代码块.预计没明确,个人觉得函数就是能完毕一个功能的代码块.

看个案例:

<!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学习第十天----函数的更多相关文章

  1. Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G

    code&monkey   Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...

  2. Ext JS学习第十天 Ext基础之 扩展原生的javascript对象(二)

    此文来记录学习笔记: 今天继续说Ext.Array,Ext.Function,Ext.Date,Ext.Error ------------------------------------------ ...

  3. (转)js学习笔记()函数

    1.调用函数时,如果参数多于定义时的个数,则多余的参数将会被忽略,如果少于定义时的个数则缺失的参数数会被自动赋予undefined值. 2.如果是用function语句声明的函数定义则不可以出现在循环 ...

  4. Ext JS学习第十天 Ext基础之动态加载JS文件(补充)

    此文用来记录学习笔记: •Ext4.x版本提供的一大亮点就是Ext.Loader这个类的动态加载机制!只要遵循路径规范,即可动态加载js文件,方便把自己扩展组件动态加载进来,并且减轻浏览器的压力. • ...

  5. Ext JS学习第十五天 Ext基础之 Ext.DomQuery

    此文同来记录学习笔记 •Ext.dom.Query 嗯,这个类一看就是到时做什么事儿的,不用我去过多的解释了.这个类一共提供了8个方法供开发人员去使用. •要说最常用的方法,无非就是Ext.query ...

  6. Ext JS学习第十四天 Ext基础之 Ext.DomHelper

    此文用来记录学习笔记   •我们已经学过了Element这个类,无疑是非常强大的,里面提供了丰富的方法供我们使用,但是Ext为了更加的方便我们去操作DOM元素,特提供了DomHelper这个辅助的工具 ...

  7. C++学习基础十六-- 函数学习笔记

    C++ Primer 第七章-函数学习笔记 一步一个脚印.循序渐进的学习. 一.参数传递 每次调用函数时,都会重新创建函数所有的形参,此时所传递的实参将会初始化对应的形参. 「如果形参是非引用类型,则 ...

  8. js学习(4) 函数

    JavaScript有三种声明函数的方法 (1)function命令 function print(s) { console.log(s); } (2)函数表达式 1.var print = func ...

  9. js学习笔记34----自执行函数

    自执行函数的写法通常如下: 方式1: (function(){ *** 写事件处理代码 *** }()) 方式2: (function(){ *** 写事件处理代码 *** })() 方式3: !(f ...

随机推荐

  1. I2C驱动框架(二)

    参考:I2C子系统之I2C bus初始化——I2C_init() 在linux内核启动的时候最先执行的和I2C子系统相关的函数应该是driver/i2c/i2c-core.c文件中的i2c_init( ...

  2. C语言文件操作 FILE结构体

    内存中的数据都是暂时的,当程序结束时,它们都将丢失.为了永久性的保存大量的数据,C语言提供了对文件的操作. 1.文件和流 C将每个文件简单地作为顺序字节流(如下图).每个文件用文件结束符结束,或者在特 ...

  3. 关于Linux下安装Oracle时报错:out of memory的问题分析说明

    一.说明 在Oracle安装过程中,可能遇到out of memory这种错误,这是由于系统内存不足导致!我们可以通过加内存的方式解决! 而如果是另一种情况呢: 例如我在主机上装了两个Oracle服务 ...

  4. 【07】像使用命令行一样使用 GitHub URL

    [07] 像使用命令行一样使用 GitHub URL 既然说到了 URL,那么久接着聊一下.使用 UI 浏览 GitHub 很 方面也很好,不过很多时候最快的方式是使用 URL 来浏览.举个例子,如果 ...

  5. bootshiro---开源的后台管理框架--基于springboot2+ shiro+jwt的真正rest api资源无状态认证权限管理框架,开发人员无需关注权限问题,后端开发完api,前端页面配置即可

    https://gitee.com/tomsun28/bootshiro

  6. *LOJ#2322. 「清华集训 2017」Hello world!

    $n \leq 50000$的树,有点权$\leq 1e13$,$q \leq 400000$次操作,有两种操作:从$s$跳到$t$每次$k$步,不到$k$步直接跳到$t$,每次把经过的点取根号:同样 ...

  7. Mysql安装及自动化部署脚本方案

    一.简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中,但是 ...

  8. linux的at定时任务的使用

    linux的at定时任务的使用 使用at只能执行一次性任务:使用at命令需要开启atd进程. 以下情况需要安装at命令: 情况1.查看是否开启atd进程:ps -ef | grep atd.[test ...

  9. AC日记——香甜的黄油 codevs 2038

    2038 香甜的黄油 USACO  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 农夫Jo ...

  10. LeetCode第一题以及时间复杂度的计算

    问题描述:给定一组指定整数数组,找出数组中加和等于特定数的两个数. 函数(方法)twoSum返回这两个数的索引,index1必须小于index2. 另外:你可以假设一个数组只有一组解. 一个栗子: I ...