js 函数:

概念:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

说白了就是响应用户操作所执行的代码,通过js事件触发,然后调用执行函数里代码的操作。

比如常见的用户点击事件,用户点击了按钮,如果这个按钮绑定了点击事件的话就会触发点击事件,触发了点击事件干什么呢,这时候就需要给这个点击事件绑定一个函数了,这样用户点击以后就可以触发函数,然后执行函数里面的操作。如:

<script>
function myFunction()
{
alert("Hello World!");
}
</script>
<button onclick="myFunction()">点击这里</button>

语法

用的时候直接 function funname(){} 需要记住的是 functionjs 关键字,注意只能是小写,在调用函数时会执行函数{}里的代码块。如:

<button class="btn" onclick="fun1()">点击</button>
<script>
function fun1(){
alert(num);
alert(type);
}
</script>

参数和变量

在调用函数的时候可以传递参数,在调用的函数里面多个参数用“,”分开。然后在定义函数的时候需要在小括号里将参数使用变量代替,这里需要注意的是变量的位置要和调用那里的参数一一对应,变量名可以随便写。

<button class="btn" onclick="fun1(index,type)">点击</button>
<script>
function fun1(i,t){
alert(i);
alert(t);
}
</script>

通过参数的传递可以使函数变得更灵活,比如有三个地方需要调用这个函数,每个调用的地方参数有不一样,这样也是没问题的。

<button class="btn" onclick="fun1("1")">点击</button>
<button class="btn" onclick="fun1("2",type)">点击</button>
<button class="btn" onclick="fun1("3")">点击</button>
<script>
function fun1(i,t){
type = type?"type":"";
alert(num);
alert(type);
}
</script>

扩展:

return

一个函数生来就是为了输出处理过的返回值的时候,需要将返回值抛出,这时候就需要return了,看例子:

<script>
function fun1(i,t){
type = type?"type":"";
if(i ==1){
return "ok";
}else{
return "no";
}
}
</script>

这里随便写了个函数,根据用户调用函数时传的参数进行判断,然后输出不同的值。

局部变量:

局部变量说白了就是函数内部定义的变量,这个变量的作用域只在这个函数内部(需要注意的是必须是通过var定义的变量),在函数外部访问变量的话是underfind。例子:

 <script>
function fun1(i,t){ var type1 = type?"type":"";
if(i ==1){
return "ok";
}else{
return "no";
} }
alert(type1); </script>

这里一定会 alert(underfind)

© 著作权归作者所有

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

前端小课堂 js:what is the function?的更多相关文章

  1. 前端小课堂 js:函数的创建方式及区别

    js 函数的创建大体有这几种方式: -1-函数表达式(函数字面量): 说白了就是把一个函数赋值给了一个变量. var fun1 = function(index){ alert(index); } f ...

  2. 自定义博客cnblogs样式的必备前端小知识——js、jq

    JQ.JS相关小知识 任意元素自动点击 $(".editicon").trigger('click') 添加子元素 append() - 在被选元素的结尾插入内容 prepend( ...

  3. 前端小知识-js

    一.对象冒充 function student(name,age){ this.name = name; this.age = age; this.show = function(){ console ...

  4. 前端小程序——js+canvas 给图片添加水印

    市场上各种各样的图片处理器有很多,那么作为程序员的我们是不是应该自己做一个呢?那就从加水印开始吧 html: <canvas id="shuiyinTest"> < ...

  5. vue ele 表单规则校验俩次输入密码是否相同,校验手机号 ( 前端小课堂:小细节,大进步 )

     这个是密码的拦截 : [{ required: true, validator: validatePass4, trigger: "blur" }],   同级关系下写下方法,类 ...

  6. 【微信小程序】在js中导入第三方js或自己写的js,使用外部js中的function的两种方法 import和require的区别使用方法 【外加:使用第三方js导出的默认function的调用方法】

    如下 定义了一个外部js文件,其中有一个function import lunaCommon from '../lunaCommon.js'; var ctx = wx.getStorageSync( ...

  7. 前端——语言——Core JS——《The good part》读书笔记——第四章节(Function)

    本章介绍Function对象,它是JS语言最复杂的内容. Java语言中没有Function对象,而是普通的方法,它的概念也比较简单,包含方法的重载,重写,方法签名,形参,实参等. JS语言中的Fun ...

  8. Spark小课堂Week3 FirstSparkApp(RDD开发)

    Spark小课堂Week3 FirstSparkApp 问题:Java有哪些数据结构 大致有如下几种,其中List与Map是最重要的: List Map Set Array Heap Stack Qu ...

  9. 0基础菜鸟学前端之Vue.js

    简介:0基础前端菜鸟,啃了将近半月前端VUE框架,对前端知识有了初步的了解.下面总结一下这段时间的学习心得. 文章结构 前端基础 Vue.js简介 Vue.js常用指令 Vue.js组件 Vue.js ...

随机推荐

  1. [DEBUG]-[org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:431)] 一直在创建sqlsession工厂原因

    今天在做开发项目的时候出现一直在控台输出创建sqlsessionfactory'这个代码, tomcat一直在控制台上输出这个内容无法停止下来,那么到底是什么原因呢, 我们可以在输出信息上看到有个wa ...

  2. CentOS 中安装tomcat

    1.安装tomcat前,需要安装JDK 2.下载tomcat安装包 wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bin ...

  3. 关于Apache显示port 80 in use 无法解决的情况,这个世界对程序媛太不友好了

    学到Ajax时下载了Apache,百度的安装教程,配置文件参数分别是: 1. httpd.conf里的80改为8000或者其他的,共三处(用记事本打开,按ctrl+F找方便) 2. httpd-ssl ...

  4. Android StateListDrawable资源的使用(文本的高亮显示)

    1.介绍 2.xml文件属性介绍 3.实例演示 <1>新建drawable文件 app--->src---->main---->res---->drawable , ...

  5. Codeforces - 915E 离散化区间覆盖

    我一直以来都错认为离散化就是换个映射,其实还需要在离散值两端加上相差为1的值才能真正离散 不然看一下test3就知道 不过这个离散姿势太暴力,以至于我1000ms时限跑出998ms(其实是太懒没有删重 ...

  6. apche 配置

    http://www.tootoogo.org/wordpress/?p=230 apache的配置由httpd.conf 文件配置. 1.基本配置 ServerRoot "/mnt/sof ...

  7. flask综合案例

    一.项目准备 1.新建项目目录students,并创建虚拟环境 mkvirtualenv students 2.安装依赖环境 pip install flask==0.12.4 pip install ...

  8. 今日工作总结:jquery轮转效果的集成与前台页面banner的设计思路总结

    今日做了两个项目中的两个问题,现在特来总结一下,以便分享给更多的朋友们. 1.jquery轮转效果的集成 涉及到jquery的不同版本问题,解决办法是在后缀用jQuery代替$.项目地址在:121.4 ...

  9. IT职场?未来?

    转自 IT职场?未来? 不能否认,有些技术大牛,生活也过的不错,工资不少挣.但是这种人,本来就不多啊,很少啊.这些人一般都是小时候就搞程序的,你觉得你半路出家,能变成这种超级牛人么?? 而且这些牛人, ...

  10. Angular4+NodeJs+MySQL 入门-03 后台接口定义

    这篇里是如何定义接口,我们一般访问接口如:post请求调用http://127.0.0.1:11000/webapi/userinfo/user 这个接口,成功返回用户信息,如果失败要返回失败原因等. ...