js 函数定义的方式

一、总结

一句话总结:

最常见就下面三种

最常见:function func1([参数]){/*函数体*/}
将匿名函数赋值给变量:var func2=function([参数]){/*函数体*/};
json方式:change: function () { $('body').css({'backgroundColor': 'red'}); },

1、function func1([参数]){/*函数体*/}和var func2=function([参数]){/*函数体*/} 定义的函数的区别?

function func1([参数]){/*函数体*/}定义的函数在函数前可以调用

主要区别在于调用的时机:

  函数式声明调用方式:2种

  1. // 在函数前面,仍然可以调用
  2. mode();
  3.  
  4. /**
  5. * 函数式声明
  6. */
  7. function mode() {
  8. console.log("运行mode函数");
  9. }
  10. // 在函数后面,当然可以调用
  11. mode();

  

函数表达式定义函数:1种

  1. // 报错:在调用mode2()之前,没有定义
  2. mode2();
  3. /**
  4. * 以函数表达式的形式定义函数
  5. */
  6. var mode2 = function() {
  7. console.log("运行mode2函数");
  8. }
  9. // 只能放在该函数的后面,才能调用
  10. mode2();

二、js 函数定义的2种方式

转自或参考:js 函数定义的2种方式
https://www.cnblogs.com/Marydon20170307/p/8671616.html

方式一:

  1. /**
  2. * 函数式声明
  3. */
  4. function mode() {
  5. console.log("运行mode函数");
  6. }

方式二:

  1. /**
  2. * 以函数表达式的形式定义函数
  3. */
  4. var mode2 = function() {
  5. console.log("运行mode2函数");
  6. }

主要区别在于调用的时机:

  函数式声明调用方式:2种

  1. // 在函数前面,仍然可以调用
  2. mode();
  3.  
  4. /**
  5. * 函数式声明
  6. */
  7. function mode() {
  8. console.log("运行mode函数");
  9. }
  10. // 在函数后面,当然可以调用
  11. mode();

  

函数表达式定义函数:1种

  1. // 报错:在调用mode2()之前,没有定义
  2. mode2();
  3. /**
  4. * 以函数表达式的形式定义函数
  5. */
  6. var mode2 = function() {
  7. console.log("运行mode2函数");
  8. }
  9. // 只能放在该函数的后面,才能调用
  10. mode2();

三、js函数几种常用的定义方式

function func1([参数]){/*函数体*/}
var func2=function([参数]){/*函数体*/};
var func3=function func4([参数]){/*函数体*/};
var func5=new Function();

上述第一种方式是最常用的方式,不用多说。
第二种是将一匿名函数赋给一个变量,调用方法:func2([函数]);
第三种是将func4赋给变量func3,调用方法:func3([函数]);或func4([函数]);
第四种是声明func5为一个对象。

 
 

js 函数定义的方式的更多相关文章

  1. js 函数定义三种方式

    <p>Js 函数定义的三种方式:</p> <br> <p>方式一:function</p> <script type="te ...

  2. js 函数定义的2种方式

      js 函数定义的2种方式 CreateTime--2018年3月29日18:36:14 Author:Marydon 方式一: /** * 函数式声明 */ function mode() { c ...

  3. js加载事件和js函数定义

    一  dom文档树加载完之后执行一个函数 在Dom加载完成后执行函数,下面这三个的作用是一样的,window.onload 是JavaScript的,window.onload是在dom文档树加载完和 ...

  4. js函数定义 参数只要写名称就可以了

    js函数定义  参数只要写名称就可以了 以下为标准: function add(type)  { } 不要写成下面这个样子 function add(var type)  { } 哎 妹的  老何ja ...

  5. js 函数定义的两种方式以及事件绑定(扫盲)

    一.事件(例如:onclick)绑定的函数定义放在jsp前面和放后面没影响 二. $(function() { function func(){}; }) onclick通过如下方式绑定事件到jsp中 ...

  6. JS函数定义与匿名函数的调用

    一.函数声明.函数表达式.匿名函数 函数声明:function fnName () {…};使用function关键字 声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName ...

  7. js函数定义及一些说明

    1.javascript定义函数的三种方法一.function语句//这个方法比较常用function fn(){ alert("这是使用function语句进行函数定义");}f ...

  8. js函数定义的三种方式

    1.函数声明语法 function sum(num1, num2){ return num1 + num2; } 2.函数表达式定义 var sum = function (num1, num2){ ...

  9. js函数定义方法

    1.函数声明 其语法为 function functionName(){ //函数体 } 首先是function关键字,然后是函数名,其重要特征是函数声明提升,即在执行代码之前会先读取函数声明,使其在 ...

随机推荐

  1. wex5 页面跳转

    页面交互: 3种方法: 1.使用Shell提供的方法 打开另一个页面不需要等待页面返回 功能树上打开 2. 用windowDialog组件 需要等待页面返回 3.内嵌页 windowContainer ...

  2. 关于redis的几件小事(三)redis的数据类型与使用场景

    1.string 这是最基本的类型了,就是普通的set和get,做简单的kv缓存. 2.hash 这个是类似map的一种结构,这个一般就是可以将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对 ...

  3. 为什么单线程的Redis却能支撑高并发

    Redis的高并发和快速原因 redis是基于内存的,内存的读写速度非常快: 核心是基于非阻塞的IO多路复用机制: redis是单线程的,反而省去了很多上下文切换线程的时间: 为什么Redis是单线程 ...

  4. css复杂动画(animation属性)

    1.声明:@keyframes name{   }: 2.涉及到的属性 animation-name:动画名称 animation-duration:单次动画总时长 animation-timing- ...

  5. 大神的JS代码风格指南

    js代码风格指南:1.缩进使用空格,不要用制表符2.必须用分号3.暂时不用ES6(modules)例如export和import命令4.不鼓励(不禁止)水平对齐5.少用var 都应该使用const或者 ...

  6. openstack云主机冷迁移

    1:开启nova计算节点之间互信 冷迁移需要nova计算节点之间使用nova用户互相免密码访问 默认nova用户禁止登陆,开启所有计算节点的nova用户登录shell. usermod -s /bin ...

  7. pyquery:轻松、灵活的处理html

    介绍 pyquery是一个专门用来解析html的库,从名字很容易想到jQuery,没错,这完全是仿照jQuery的语法实现的.如果用过jQuery,那么pyquery也很容易上手 初始化html py ...

  8. mysql和oracle的语法差异(网络收集)

    oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了.oracle要分页的话,要换成rownum. oracle建表时,没有auto_increment,所 ...

  9. 从给定的N个正数中选取若干个数之和最接近M

    https://blog.csdn.net/lsjseu/article/details/11660731

  10. ping —— 虚拟机

    1. 主机ping 虚拟机 ping 不通    设置——虚拟机—— 防护墙——入站规则——  文件和打印共享 (回显请求-ICMPv4-In) 2.主机连接不上虚拟机中的sqlsrver   设置— ...