详解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中使用"with"语句中跨frame的变量引用问题
Mar 08 Javascript
jquery1.4 教程二 ajax方法的改进
Feb 25 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
Aug 14 Javascript
javascript 用函数语句和表达式定义函数的区别详解
Jan 06 Javascript
javascript实现网站加入收藏功能
Dec 16 Javascript
给easyui的datebox控件添加清空按钮的实现方法
Nov 09 Javascript
Bootstrap基本组件学习笔记之导航(10)
Dec 07 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
Dec 22 Javascript
jQuery validata插件实现方法
Jun 25 jQuery
node前端开发模板引擎Jade的入门
May 11 Javascript
JS实现checkbox互斥(单选)功能示例
May 04 Javascript
vue项目中openlayers绘制行政区划
Dec 24 Vue.js
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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
Javascript中神奇的this
2016/01/20 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
python特性语法之遍历、公共方法、引用
2018/08/08 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
python中如何设置代码自动提示
2020/07/15 Python
浅谈Python3中print函数的换行
2020/08/05 Python
英语专业推荐信
2013/11/16 职场文书
英文简历自荐信范文
2013/12/11 职场文书
八年级生物教学反思
2014/01/22 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
家长会欢迎词
2015/01/23 职场文书
大学生团员个人总结
2015/02/14 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python
golang中的struct操作
2021/11/11 Golang
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL
动视暴雪取消疫苗禁令 让所有员工返回线下工作
2022/04/03 其他游戏