前端提高篇(十)JS进阶7函数:创建、return、作用域
程序员文章站
2024-01-04 20:40:58
...
创建方法
静态方法
//静态创建函数方法一:
function add1(a, b){
return a+b;
}
//静态创建函数方法二
var add2 = function(a,b){
return a+b;
}
动态创建
//动态创建函数
var add3 = new Function('a','b','var c = a + b;return c');
区分函数的定义和使用
add(),是函数调用,执行
return
当要返回多个值时,需要将多个值打包在一个数组或一个对象内,不能分开返回
作用域
函数嵌套
函数A中嵌套了函数AA和AB,在A中可以调用AA和AB,在A之外就不能调用了
//作用域
function add(a,b){
function add1(){
console.log('a');
}
add1();
}
add(1,2);
在这段代码中,只有在add函数中才能调用add1函数,并且要在外部调用add函数
变量
局部变量VS全局变量,这篇文章有写过
一个变量如果只在小圈范围函数被定义,如AB,在大圈是访问不到的,如A,即A访问不到AB里的变量
动态函数不一样
动态创建的函数与图中的A、B函数是平级的,都处于大世界中,所以A、B函数里定义的变量,动态函数是看不见的
var x = 1;
function func(){
var x = 2;
function e1(){
return x;
}
var e2 = new Function('return x;')
return [e1(),e2()]
}
运行效果:
如果返回的是[e1,e2],返回的是函数的地址组成的数组