javascript中的function

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script>
var f="xxx";
window.οnlοad=function w(x)
{
      console.log(f);
var  f=function(){};
 function f(x)//2
 {
  console.log(x);
}
}/*有两种形式可以定义函数,其一为函数定义表达式,为var f=function形式的,另外一种为函数声明语句,function functionname形式的,

function语句中的花括号是必须的,函数声明只能出现在所嵌套函数的顶部,也就是说函数定义不能出现在if语句,while循环或其他任何语句中。


优先级:使用var的话,只有变量声明提前了,变量的初始化代码仍然在原来的位置,然后使用函数声明语句的话,函数名称和函数体均提前,脚本中的所有函数和函数中所嵌套的函数都会在当前上下文中其他代码之前声明。因此此时输出为function f(x),若注释掉以2开头的function语句,则输出undefined。若再在这个基础上把函数中的var f前的var去掉,
则输出xxx。此时相当于f声明的是全局变量,并没有局部变量覆盖全局变量这样的情况了。*/
</script>
</head>
<body>
</body>

</html>

如果有理解不对的地方,欢迎讨论,其中我们使用console.log而不是alert是为了保证JavaScript的非侵入性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值