函数的几种创建方式
函数的创建方式
1.函数名: 驼峰式命名法,不能有关键字和保留词,不能定义window对象下的方法,不能重名
2. ***ES5的构造函数首字母必须大写
3.参数:参数可以理解为变量,但是其作用范围仅在该函数内部,
4. 函数执行时带入的内容会根据先后顺序赋值给参数
1.命名函数的创建:
function 函数名(参数){
}
fn(参数);
注意:
当script标签建立时,该标签中的所有命名函数会自动放入在堆中,并且在栈中用函数名存储该函数 所以可以在该script标签中任意位置调用该函数,或者在该标签后的任意script中调用函数名起始也是存储在栈中的变量,由于当前该函数名直接写在script中,这个函数就是一个全局函数这个函数就是window的一个方法
2.匿名函数的创建:
只有代码运行到匿名函数后,才可以调用匿名函数,没有提前放入到栈中
a.
document.onclick=function(){
console.log("a");
}
b.
使用var定义之后,才可以使用
var fn=function(){
console.log("a");
}
fn();
c.自执行函数
(function(){
console.log("aaa");
})()
3.构造函数法(创建函数对象):
创建函数对象,参数,前面所有的参数都是创建的函数的参数,最后一个参数是创建的函数内部的语句块
var fn=new Function("a","b","c","console.log(a+b+c+'d')");
fn(3,5,6);
console.log(fn);
一般不要使用,写起来麻烦,因为写入的都是字符串,所以执行时都需要将字符串转为语句块.
其实构造函数这种写法就相当于下面这两种写法:
function fn(a,b,c){
console.log(a+b+c);
}
var fn=function(a,b,c){
console.log(a+b+c);
}
还没有评论,来说两句吧...