<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>全局函数定义特点</title>
</head>
<body>
</body>
<script>
function hxj(){
console.log("haoxuejie");
}
console.log(hxj);//hxj是一个引用地址,这里输出的就是函数hxj的定义
hxj();//haoxuejie
window.hxj();//haoxuejie
//即全局函数会成为window对象的函数,定义全局变量也一样,同样会压到window的属性里,
//这样的弊端是如果定义的全局函数与window对象的函数重名会覆盖掉window里的函数
//console.log(window);
//使用表达式定义函数:
var ydc=function(){
console.log("ydc");
};
ydc();//ydc
window.ydc();//ydc
//但是使用let定义的全局函数就不会把这个函数压到window里面
let hhh=function(){
console.log("hhh");
};
hhh();
//window.hhh();//报错Uncaught TypeError: window.hhh is not a function
//不建议单独定义函数,建议是将函数放在类里面
</script>
</html>
网友评论