1.函数一等公民
函数是一等公民的意思是当var 一个变量是,这个变量名和function的functionName名相同时,将会覆盖var的值使用函数function内的执行语句。
实例:
<script>
/*复习一下: var有变量提升 let 没有*/
// document.write(a)
// let a = '123' //结果是没有输出,没有变量提升
//var a ='123' //结果是undefined,初始值,右边梁提升
注意: 函数也有变量提升 所以函数可以在定义之前使用
/* ★下面这个例子 体现了函数是一等公民 */
/* 函数 和 var 都会变量提升,但是函数的优先级是最高的,会排在var的前面,在浏览器中的优先级情况:
function fn(){
document.write('我爱js')
}
undefined*/
/* 使用函数 */
fn();
/* 变量的名字和函数的名字重名了,这种情况是在 定义函数之前使用fn() 因为函数的优先级比较高 把var fn变量覆盖了*/
var fn = '123123'
/* 定义函数 *