js有很多不同的写法,例如funame:function (){}、或者var funame = function ( ){}、或者funame(){}等等。但是每个写法所能用的地方不一样。乱用会导致报错等问题。
接下来来列一下这些写法该怎么使用。
正常写法。
上面的代码第一行是一种声明函数的方式。意思是将右方这个函数表达式赋值给了变量myfun。
funame:function (){}只能写在对象内部。因为这是对象的函数。
如果变量中有多个函数可以如下这么写。
var a = { // 第一种方法 fn1:function(){} ; fn2:function(){} ; fn3:function(){} ; } var b = function () {}; //第二种方法 b.fn1 = function (){ //第一个函数 } b.fn2 = function (){ //第二个函数 } b.fn3 = function (){ //第三个函数 } var c = function () { //第三种方法 return { fn1: function() { //第一个函数 }, fn2: function() { //第二个函数 }, fn3: function() { //第三个函数 } } }用类来实现(其中第二、三种不能混用,因为会覆盖prototype)
var a = function (){ //第一种方法 this.fn1 = function(){ // 第一个函数 } this.fn2 = function(){ // 第二个函数 } this.fn3 = function(){ // 第三个函数 } } var b = function (){}; //第二种方法 b.prototype.fn1 = function () { // 第一个函数 } b.prototype.fn2 = function () { // 第二个函数 } b.prototype.fn3 = function () { // 第三个函数 } var c = function () {}; //第三种方法 c.prototype = { fn1: function (){ // 第一个函数 } fn2: function (){ // 第二个函数 } fn3: function (){ // 第三个函数 } } var d = function () {}; //第四种方法 d.prototype = { fn1: function (){ // 第一个函数 return this; } fn2: function (){ // 第二个函数 return this; } fn3: function (){ // 第三个函数 return this; } }