函数的创建

有关函数的基本内容

函数的两种创建方法

1.构造函数来创建一个函数对象。(但实际开发基本不用)

var fun = new function(){
	console("hello,world");
}//只执行到这里的时候,浏览器不会显示hello,world,因为函数此时害没有被调用
fun();//函数调用,函数体中封装的代码按顺序执行,浏览器显示hello,world

2.函数声明来创建函数。(最常用)

function fun2(){//()内存放形参1,形参2,....
	console("hello,world");
}
fun2();//函数调用,函数体中封装的代码按顺序执行,浏览器显示hello,world

3.使用函数表达式来创建函数。

var fun3 = function(){
	console("hello,world");
}
fun3();

作用域问题–全局作用域

作用域分为全局作用域和函数作用域。
全局作用域:打开窗口创建,关闭窗口销毁
在JavaScript中有一个全局变量window,
每一个变量都以window的属性保存。 window.alert("…") window.fun() 都可。
每一个函数都会以window的方法保存。

变量声明提前

console.log(a);
var a = 10;//显示undifined,不会报错,因为a声明提前,但赋值不会。
//

函数声明提前

使用 函数声明形式创建的function函数(){},他会在所有的代码消失之前就被创建,所以我们可以在函数声明前调用。但是以其他方式(函数表达式)创建的函数则不会。

fun2();
function fun2(){
	console.log("hi");
}//浏览器显示hi,函数声明会被提前创建


fun();
var fun = function(){
	console.log("hi");
}//浏览器不会显示hi,显示fun is not a function,因为这是以函数表达式的方法创建函数,函数声明不会被提前创建。 死记奥利给!!!

作用域问题–函数作用域

函数作用域:函数调用时创建,函数调用完成销毁。
每调用一次函数会创建一个函数作用域。他们之间相互独立。
函数作用域可以访问全局作用域中的变量,
全局作用域访问不了函数作用域中的变量。

var a = 10;
function fun1(){
	alert("a = " + a);
}
fun1();//警示框输出10


函数声明提前变量声明提前在函数中同样适用。函数复制不提前,注意!!!

function fun(){
	console.log("c =" + c);
	var c = 10
}
fun();//输出undifined

函数内变量优先使用离得近的函数作用域的变量。一级一级向外面的函数作用域找。如果全局作用域中依然没有,则会报错,not defined

函数定义形参就相当于在函数中声明了一个变量。

var e = 10;
function fun(e){
	console.log("e =" + e);
}
//fun(20);//输出e = 20
fun();//不给参数则输出undifined!!!只声明没赋值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值