JS中创建函数的几种方法
推荐几篇博客给你,其实这种问题博客或者知乎等都是有大把大把的比较不错的回答了
1、
2、
3、
把这几篇博客的内容自己整合一下,就了解的差不多了
JS里声明函数有几种方式?
JS函数的定义方式比较灵活,它不同于其他的语言,每个函数都是作为一个对象被维护和运行的。
先看几种常用的定义方式:
function func1([参数]){
/*函数体*/
}
var func2=function([参数]){
/*函数体*/
};
var func3=function func4([参数]){
/*函数体*/
};
var func5=new Function();
上述第一种方式是最常用的方式,不用多说。
第二种是将一匿名函数赋给一个变量,调用方法:func2([函数]);
第三种是将func4赋给变量func3,调用方法:func3([函数]);或func4([函数]);
第四种是声明func5为一个对象。
再看看它们的区别:
function func(){
//函数体
}
//等价于
var func=function(){
//函数体
}
但同样是定义函数,在用法上有一定的区别。
script
//这样是正确的
func(1);
function func(a)
{
alert(a);
}
/script
script
//这样是错误的,会提示func未定义,主要是在调用func之前没有定义
func(1);
var func = function(a)
{
alert(a);
}
//这样是正确的,在调用func之前有定义
var func = function(a)
{
alert(a);
}
func(1);
/script
用同样的方法可以去理解第三种定义方式。
第四种定义方式也是需要声明对象后才可以引用。
js创建对象几种方式
推荐有一下几种方式:
1.对象字面量创建对象
var obj = { a:1,b:2 };
注意:对象字面量是一个表达式,这种表达式每次运算都会创建并初始化一个新对象,并计算这个新对象的每个属性值。所以如果在循环体内使用对象字面量,每次循环时都会创建新对象。
2.通过new运算符创建对象
var obj = new Object(); //创建空对象 var ary = new Array(); //创建空的数组对象
注意:new运算符后面跟的是一个函数调用,这个函数被称为构造函数。js中原始类型都包含内置的构造函数,也可以自己定义构造函数。
3.通过立即执行函数创建对象
var obj = (function(){ return {x:1,y:2};}());
注意:在立即执行函数内部一定要有return语句,return出的内容就是待创建的对象。
javascript有哪几种定义函数的方法
/*第一种方法,使用function语句,格式如下*/
function fn(){
alert("这是使用function语句进行函数定义");
}
fn();
/*第二种方法,使用Function()构造函数克隆函数*/
var F = new Function("a","b","alert(a+b)");
F(a,b);
其实相当于如下代码:
function F(a,b){
alert(a+b);
}
/*第三种方法,使用函数直接量*/
var zhenn = function(){
alert("zhenn");
}
zhenn();