函数声明和函数表达式区别
函数声明是通过 function 函数名(){}来声明一个函数
函数表达式是通过声明一个变量,然后赋值函数。
两者区别是,在程序执行前,会先获取函数声明声明的函数,获取变量的声明,这里变量的声明只是先开辟一个空间,然后给了个名字,之后到该变量名赋值的时候,才有值,也就是说,在未得到该变量的赋值前,使用该变量会得到undefined。
而无论你把函数放在放在程序中的开头或者结尾,函数的执行语句都能正常执行。
fn();//输出 fn
console.log(fn2);// undefined 声明了,没有值,自动赋值undefined
function fn(){console.log(‘fn‘)}//函数声明
var fn2 = function(){console.log(‘fn2‘)};//函数表达式
fn2();//输出 fn2
变量的声明前置和函数的声明前置
上面那个问题有回答。
arguments 是什么?
arguments是函数内部的一个对象,对应着传进来的参数,是一个类数组对象,没有操作数组的方法。
每个传进来的参数对应着arguments[0],arguments[1],有先后顺序之分。
比如function fn(name,age){
console.log(arguments[0];);
console.log(arguments[1];);
}
javascript中函数的重载?
在javascript中没有函数重载,因为相同的函数名字,如果定义的参数个数不一样,后出现的会覆盖先出现的。
所以,通过内部访问arguments可以不用管传进来多少个参数,尽管访问就可以了,但是传进来的参数有先后之分。
什么是立即执行函数表达式,作用是什么?
函数的作用域链是什么?
时间: 2024-10-09 13:03:35