js实际运用中经常要用到函数封装代码,用于调用,通常做法是先定义一个函数,然后再调用,如下所示
function funcName(){
//some codes
}
funcName()
其实有时候为了代码的简洁,并不一定需要如此的循规蹈矩,也可用使用匿名函数来执行代码.比如函数如果不需要传参时,我们可以这样做:
(function(){
console.log("hello world");
})()
当然了,若是要传参该怎么做呢?,我们可以运用es6【变量的解构赋值】来实现,写法如下所示
var a = "hello";
var b ="world";
(function ({x, y} = { x:a, y:b }) {
console.log(x,y)
})()
此外,我们还可以将参数分为静态传参和动态传参,这里这样区分主要是两种匿名函数的写法不同,不能通用
静态传参,我们可以考虑使用参数默认值的方式,写法如下
(function (x="hello", y="world") {
console.log(x,y)
})()
动态传参,我们也可以是另外一种写法,只是与通常的函数写法相差无几 ,单独调用依然避免不了,例子如下所示
var str1 = 'hello';
var str2 = 'wolrd';
var func = function(param1,param2){
log(param1+" "+param2);//hello wolrd
}
func(str1,str2);