函数与方法
C#中的函数方法没有区别,但在JS中,函数并不等同于方法。
-函数(function)是一段代码,需要通过名字来进行调用。它能将一些数据(函数的参数)传递进去进行处理,然后返回一些数据(函数的返回值),也可以不返回数据。
-方法(method)是通过对象调用的javascript函数。也就是说,方法也是函数,只是比较特殊的函数。
-当函数作为一个对象属性保留时,函数(function)就变成了方法(method)。
(出处:https://www.cnblogs.com/liangdong/p/9983828.html)
E.G:
var func = function(){ //方法
代码;
};
function func(){ //函数
代码;
};
也就是说声明的函数用对象调用了,这是方法;而没有对象调用,这是函数。
几种函数
JS中的四种函数:
0.函数对象(几乎不用)
语法:var 函数名 = new Function();
var fun = new Function("alert('砸——瓦鲁多!')");
1.声明式函数:也叫函数常量,有函数名字。
语法:
function 函数名([形参1,形参2…形参N]){
语句…
}
function func(){
alert("Wryyyyyyyy!");
}
2.匿名函数:也叫函数对象、函数表达式,函数没有名字,只有对象有名字。
语法:
var 函数名 = function([形参1,形参2…形参N]){
语句…
}
var func3 = function(){
alert("Road Roller da!");
};
二者区别:声明式函数可以在任何地方调用,而匿名函数必须在表达式之后调用
原因:解释器先读取声明式函数
3.构造函数:new函数名来完成实例化。
*构造函数开头要大写
语法:
function 构造函数名([形参1,形参2…形参N]){
语句...
}
function Person(name,age,home){
this.name = name;
this.age = age;
this.home = home;
this.sayName = function(){
alert("哈喽带家好,我是"+this.name);
}
}
var per = new Person("张三",5,"中国"); //实例化
per.sayName();