详解javascript函数写法大全


Posted in Javascript onMarch 25, 2019

1.常规写法

function fnName(){
  console.log("常规写法");
}

2.匿名函数,函数保存到变量里

var myfn = function(){
  console.log("匿名函数,函数保存到变量里");
 }

3.如果有多个变量,可以用对象收编变量

3.1 用json对象

var fnobject1={
   fn1:function(){
      console.log("第一个函数");
   },
   fn2:function(){
      console.log("第二个函数");
   },
   fn3:function(){
      console.log("第三个函数");
   }
 }

3.2 声明一个对象,然后给它添加方法

var fnobject2 = function(){};
 fnobject2.fn1 = function(){
   console.log("第一个函数");
 }
 fnobject2.fn2 = function(){
   console.log("第二个函数");
 }
 fnobject2.fn3 = function(){
   console.log("第三个函数");
 }

3.3 可以把方法放在一个对象函数里

var fnobject3 = function(){
   return {
     fn1:function(){
       console.log("第一个函数");
       },
     fn2:function(){
       console.log("第二个函数");
     },
      fn3:function(){
       console.log("第三个函数");
     }  
   }  
 };

4.可用类来实现,注意类的第二种和第三种写法不能混用,否则一旦混用,如在后面为对象的原型对象赋值新对象时,那么他将会覆盖掉之前对prototype对象赋值的方法

4.1 第一种写法

var fnobject4 = function(){
   this.fn1 = function(){
     console.log("第一个函数");
  }
   this.fn2 = function(){
     console.log("第二个函数"); 
   }
   this.fn3 = function(){
     console.log("第三个函数");
   }
 };

4.2 第二种写法

var fnobject5 = function(){};
 fnobject5.prototype.fn1 = function(){
   console.log("第一个函数");
 }
 fnobject5.prototype.fn2 = function(){
   console.log("第二个函数");
 }
 fnobject5.prototype.fn3 = function(){
   console.log("第三个函数");
 }

4.3 第三种写法

var fnobject6 = function(){};
 fnobject6.prototype={
   fn1:function(){
     console.log("第一个函数");
   },
   fn2:function(){
     console.log("第二个函数");
   },
   fn3:function(){
     console.log("第三个函数");
   }
 }

4.4 第四种写法

var fnobject7 = function(){};
fnobject7.prototype={
  fn1:function(){
    console.log("第一个函数");
    return this;
  },
    fn2:function(){
    console.log("第二个函数");
    return this;
  },
  fn3:function(){
    console.log("第三个函数");
    return this;
  }
}

5.对Function对象类的扩展(下面三种只能用一种)

5.1 第一种写法(对象)

Function.prototype.addMethod = function(name,fn){
   this[name] = fn;
 }
 var methods=function(){};//var methods=new Function();
 methods.addMethod('fn1',function(){
   console.log("第一个函数");
 });
 methods.addMethod('fn2',function(){
   console.log("第二个函数");
 });
 methods.addMethod('fn3',function(){
   console.log("第三个函数");
 });

5.2 链式添加(对象)

Function.prototype.addMethod = function(name,fn){
  this[name] = fn;
   return this;
 }
 var methods=function(){};//var methods=new Function();
 methods.addMethod('fn1',function(){
   console.log("第一个函数");
 }).addMethod('fn2',function(){
   console.log("第二个函数");
 }).addMethod('fn3',function(){
   console.log("第三个函数");
 });

5.3 链式添加(类)

Function.prototype.addMethod = function(name,fn){
  this.prototype[name] = fn;
  return this;
}
var Methods=function(){};//var methods=new Function();
methods.addMethod('fn1',function(){
  console.log("第一个函数");
}).addMethod('fn2',function(){
  console.log("第二个函数");
}).addMethod('fn3',function(){
  console.log("第三个函数");
});

以上所述是小编给大家介绍的javascript函数写法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js拖动div 当鼠标移动时整个div也相应的移动
Nov 21 Javascript
jquery easyui中treegrid用法的简单实例
Feb 18 Javascript
jquery图形密码实现方法
Mar 11 Javascript
Bootstrap入门书籍之(一)排版
Feb 17 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
Dec 26 Javascript
JavaScript函数参数的传递方式详解
Mar 06 Javascript
JS验证全角与半角及相互转化的介绍
May 18 Javascript
vue中添加mp3音频文件的方法
Mar 02 Javascript
Vue-component全局注册实例
Sep 06 Javascript
layui 表格操作列按钮动态显示的实现方法
Sep 06 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
Sep 16 Javascript
JS操作JSON常用方法(10w阅读)
Dec 06 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
Mar 25 #Javascript
Node.js之readline模块的使用详解
Mar 25 #Javascript
Javascript的this详解
Mar 23 #Javascript
如何在Angular应用中创建包含组件方法示例
Mar 23 #Javascript
vue中组件的3种使用方式详解
Mar 23 #Javascript
ES6入门教程之Array.from()方法
Mar 23 #Javascript
setTimeout与setInterval的区别浅析
Mar 23 #Javascript
You might like
如何在PHP程序中防止盗链
2008/04/09 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
2013/08/14 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
深入理解react-router@4.0 使用和源码解析
2017/05/23 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
python使用paramiko模块实现ssh远程登陆上传文件并执行
2014/01/27 Python
python处理文本文件并生成指定格式的文件
2014/07/31 Python
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
Python set常用操作函数集锦
2017/11/15 Python
Python IDLE入门简介
2017/12/08 Python
python文本数据相似度的度量
2018/03/12 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
Python单元测试及unittest框架用法实例解析
2020/07/09 Python
C和C++经典笔试题附答案解析
2014/08/18 面试题
搞笑爱情保证书
2014/04/29 职场文书
酒店节能降耗方案
2014/05/08 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
法定代表人身份证明书(含说明)
2014/10/02 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
Python写情书? 10行代码展示如何把情书写在她的照片里
2022/04/21 Python