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. Python之freshman05

    一:内建模块 time和datetime(http://www.jb51.net/article/49326.htm) 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 ...

  2. Flask之flask_script

    flask端口占用 解决方案: lsof -i:5000 #查询是哪个进程占用的 kill PID 杀掉进程 flask_script之Manager类 from flask import Flask ...

  3. EntityFramework CodeFirst 数据库迁移

    参考: https://msdn.microsoft.com/en-us/data/jj591621 https://msdn.microsoft.com/en-us/library/dd394698 ...

  4. Java线程池详解(一)

    一.线程池初探 所谓线程池,就是将多个线程放在一个池子里面(所谓池化技术),然后需要线程的时候不是创建一个线程,而是从线程池里面获取一个可用的线程,然后执行我们的任务.线程池的关键在于它为我们管理了多 ...

  5. linux输出之 printf 讲解--->与 echo 的区别

    printf 你接触过printf没呢?? 如果你学了c语言的话你肯定就熟悉了,如果没有的话,不要急,,我保证你马上就会了! 我们来看一下案例: 这个可以看出来吧,echo输出的话会对文本换行哦,但是 ...

  6. 图解 TCMalloc

    https://zhuanlan.zhihu.com/p/29216091 图解 TCMalloc hellocode 永远年轻   693 人赞了该文章 前言 TCMalloc 是 Google 开 ...

  7. 9 Essential Free Linux Transcoders(转码)

    需要转码的理由千万种,所幸除了硬件转码之外,Linux平台还有很多开源工具可以借鉴,如该文章所示: 原文来自:9 Essential Free Linux Transcoders(http://www ...

  8. HikariCP配置使用spring结合--Java数据库连接池

    我的个人德州扑克项目https://github.com/mingzijian/pokers,欢迎给星星.maven引入: Java 8 maven artifact: <dependency& ...

  9. jar包、jdk版本、兼容性

    对jar包.jdk版本,以及不同jdk版本的jar包的兼容性有一些疑问,搜集一些资料于此 查看jar包的jdk版本 查看.jar包中的META-INF\MANIFEST.MF Build-Jdk: 1 ...

  10. 使用windows的BitLocker+VHD加密“文件夹”

    进入磁盘管理 创建VHD,选定位置 初始化创建的虚拟盘,新建简单卷 给新的盘启用BitLocker 其他: 快速锁定:manage-bde.exe D: -lock  -fd