谈谈JavaScript中的函数
JS中的函数简介
JS中的函数是一种通过调用来完成具体业务的一段代码块。最核心的目的是将可重复执行的操作进行封装,然后供调用方无限制的调用。
JS中的函数的定义
JS中函数定义,有如下两种形式:
方式1
function f1(){} //函数声明,f1为函数名,可以将其理解为变量f1指向一个函数 function f2(){return 100;}//函数允许有返回值 function f3(a,b){}//函数中可以定义多个参数,无需指定变量类型
方式2
var f4=function(){} //函数表达式,这里变量名f4为函数名 var f5=function(){return 100;}//函数允许有返回值 var f6=function(a,b,c){}
案例分享
JS中的函数调用
JS中的函数定义好以后,必须调用才会执行,常用调用方式有如下两种:
方式1:通过函数名直接调用
f1(); f3(10,20); //调用函数时指定其实际参数 f6(10,20,30)
方式2:匿名函数自调用,目的是创建函数作用域,防止污染全局.
(function(){})() (function(){}())
案例分享
基于函数名进行调用
函数的自调用
回调函数
JS中的回调函数,将函数以实参的形式进行传递。
function f(callback){ callback()//调用传入的匿名函数 };//定义函数 f(function(){console.log("hello"))//调用函数,函数内部传入的匿名函数为回调函数
案例分享
JS中的回调函数,将函数以实参的形式进行传递。
function f(callback){ callback()//调用传入的匿名函数 };//定义函数 f(function(){console.log("hello"))//调用函数,函数内部传入的匿名函数为回调函数
案例分享
总结(Summary)
本小节主要从函数的概念,定义,调用,回调几个角度对函数做了一个基本介绍,小试伸手,用于交流。
以上就是谈谈JavaScript中的函数的详细内容,更多关于JavaScript 函数的资料请关注我们其它相关文章!
相关推荐
-
js 函数性能比较方法
在学习js过程中,经常会遇到同样一个功能点 这样实现也可以,那样实现也可以.但是哪个方式最优呢?自己写了一个简短的proferencesCompare 函数.代码如下: /** * 函数性能比较 * @param fns 要比较的函数数组 * @args 每个要比较函数在执行的时候传入的参数,可以是数组,或者 被调用后 返回数组类型 * @repeatCount 每个函数重复执行的次数,多次执行 拉开差距.默认值10000 * * @return [{runTime:执行repeatCount次
-
js中字符替换函数String.replace()使用技巧
定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr,replacement)参数 描述 regexp/substr 必需.规定子字符串或要替换的模式的 RegExp 对象. 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象. replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数.
-
告诉你什么是javascript的回调函数
函数也是对象 想弄明白回调函数,首先的清楚地明白函数的规则.在javascript中,函数是比较奇怪的,但它确确实实是对象.确切地说,函数是用Function()构造函数创建的Function对象.Function对象包含一个字符串,字符串包含函数的javascript代码.假如你是从C语言或者java语言转过来的,这也许看起来很奇怪,代码怎么可能是字符串?但是对于javascript来说,这很平常.数据和代码之间的区别是很模糊的. //可以这样创建函数 var fn = new Functio
-
JS变量提升及函数提升实例解析
1在js中只有两种作用域 a:全局作用域 b:函数作用域 在ES6之前,js是没有块级作用域. 首先来解释一下什么是没有块级作用域? 所以此时 是可以打印输出变量a的值. 2:什么是变量提升? 在我们的js中,代码的执行时分两步走的,1.预解析 2.一步一步执行 在预解析阶段:首先会在全局作用域内,js解析器会找所有的 var .function .参数,并提前到当前作用域的最顶上去(变量的赋值操作不会提前,还在原来的地方),此时并没有执行代码. 然后再开始一行一行执行代码.遇到了函数调用,于是
-
JS的时间格式化和时间戳转换函数示例详解
JS的时间格式化和时间戳转换函数 //格式化时间 function dateFormat(fmt,date){ var o = { "M+" : date.getMonth()+1, //月份 "d+" : date.getDate(), //日 "h+" : date.getHours(), //小时 "m+" : date.getMinutes(), //分 "s+" : date.getSeconds
-
JS验证URL函数 正则
这个url的正则表达式判断的JavaScript!比较全面的.它验证的情况包括IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口!用户名等等信息,貌似作者也是在网上找的,我从一个项目代码中扣出来的,是我见过的最强最全面的url验证方式!太猛了,贴在这里与大家分享,URL的验证实在是很频繁. function IsURL (str_url) { var strRegex = '^((https|http|ftp|rtsp|mms)?://)' + '?(([0-9a-z_!~
-
js 小数取整的函数
1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2) 4,向下取整 js: Math.floor(7/2)
-
js 字符串操作函数
concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串. indexOf() – 返回字符串中一个子串第一处出现的索引.如果没有匹配项,返回 -1 . charAt() – 返回指定位置的字符. lastIndexOf() – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 . match() – 检查一个字符串是否匹配一个正则表达式. substring() – 返回字符串的一个子串.传入参数是起始位置和结束位置. replace() – 用来查找匹配一个
-
js function定义函数使用心得
1.最基本的作为一个本本分分的函数声明使用. 复制代码 代码如下: function func(){} 或 var func=function(){}; 2.作为一个类构造器使用: 复制代码 代码如下: function class(){} class.prototype={}; var item=new class(); 3.作为闭包使用: 复制代码 代码如下: (function(){ //独立作用域 })(); 4.可以作为选择器使用: 复制代码 代码如下: var addEvent=ne
-
前端使用crypto.js进行加密的函数代码
crypto-js 是一个纯 javascript 写的加密算法类库 ,可以非常方便地在 javascript 进行 MD5.SHA1.SHA2.SHA3.RIPEMD-160 哈希散列,进行 AES.DES.Rabbit.RC4.Triple DES 加解密. 可以在这个GitHub的https://github.com/brix/crypto-js上下载该js,它可以单独引入所需要加密方式的js:也可以引入一个crypto-js.js 这个文件,它相当于引入了所有的加密方式,我使用的就是后者
-
浅析JavaScript 函数柯里化
柯里化 (Currying)是把接收多个参数的原函数变换成接受一个单一参数(原来函数的第一个参数的函数)并返回一个新的函数,新的函数能够接受余下的参数,并返回和原函数相同的结果. ES6的方式实现柯里化的通用 function currying(fn,...rest1){ return function(...rest2){ //这里用apply 是为把数组形式的参数直接传入原函数 null是因为不需要改变this return fn.apply(null,rest1.concat(rest2)
随机推荐
- 使用Lua编写Web端模板引擎的实例代码分享
- 基于golang时间转换的问题
- SeaJS 与 RequireJS 的差异对比
- 浅谈JavaScript函数节流
- iOS上下文实现评价星星示例代码
- Python中的高级数据结构详解
- IOS 使用Block二次封装AFNetworking 3.0详解
- 图文详解Heap Sort堆排序算法及JavaScript的代码实现
- php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
- JScript 脚本实现文件下载 一般用于下载木马
- python简单实现获取当前时间
- BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
- Javascript和Java获取各种form表单信息的简单实例
- C语言编程中建立和解除内存映射的方法
- 详解Android studio中正确引入so文件的方法
- Python的Django框架下管理站点的基本方法
- Java俄罗斯方块小游戏
- 基于Java子线程中的异常处理方法(通用)
- asp中使用MSXML2.DOMDocument处理XML数据时的注意事项
- Vue动态组件和异步组件原理详解