javascript中函数和方法的区别
一、函数对象(function)
函数的定义:函数是带有函数对象引用变量名称和参数的javascript代码段
注意:
- 函数为对象,函数对象为全局对象window的属性(成员变量),函数对象相当于一个全局变量,通过函数对象的引用变量名来调用函数
- 调用函数对象的方式:window.函数对象引用 变量名()(其中window可以省略
函数对象的定义方式:
方式一: function 函数对象引用变量名(形式参数列表){ 方法体 }
方式二: var 函数对象引用变量名= function(形式参数列表){ 方法体 }
二、方法
方法的定义:方法定义与对象内部,称为该对象的方法,具有函数的形式,但不是对象,方法相当于函数的特例
三、代码建议
全局变量为全局对象 window 的属性,不同的JavaScript文件如果使用了相同的全局变量,或者定义了相同名字的函数对象,都会造成命名冲突,并且很难被发现。减少冲突的一个方法为定义一个对象,将将定义的所有变量和函数对象全部放在该对象中成为对象的属性和方法。
例如:
// 定义对象MYAPP: var MYAPP = {}; // 将变量放在对象中成为该对象的属性: MYAPP.name = 'myapp'; MYAPP.version = 1.0; // 将函数放在该对象中成为该对象的方法: MYAPP.foo = function () { return 'foo'; };
上例中将自己的代码全部放入自定义对象 MYAPP 中,会大大减少全局变量冲突的可能。
许多著名的JavaScript库都是这么干的:jQuery,YUI,underscore等等。
版权声明:本文为liaozhongxiang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。