<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> x=2;//全局变量下定义 function fct1(){ console.log(x); } fct1(); console.log(x); var y="xxx"; alert(y); alert(window.y);//所有的全局变量,都默认绑定在window对象下; window.alert(y); //同理,alert()函数也是一个window变量;既然是变量当然可以赋值给新的变量 var new_alert=window.alert;//在js中方法(函数)可以把功能赋值给变量; // alert()是函数alert是变量 new_alert("我是用新方法输出"); //js实际上只有一个全局作用域,任何变量可以看成函数,反之也是; //随之而来的问题是当所有的全局变量都绑定在window下,当不同js文件合并时,就会有冲突发生; //所以,在定义全局变量的时候,我们应该把全局变量放在自己定义下的唯一空间中; var hanran={}; hanran.name="xiaowang"; hanran.fct1=function (a,b){ return a + b; } function aaa(){ for (var i = 0; i < 100; i++) { console.log(i); } console.log(i)//发现问题:i出了作用域还能使用;所以ES6中出现了let } function aaa1(){ for (let i = 0; i < 100; i++) { console.log(i); } console.log(i)//报错,i is not defined; } //let用来定义局部作用域; const P=123; //P=2323;报错,P是只读变量,不能修改 </script> </head> <body> </body> </html>
window全局变量 let局部变量 const常量 使用规范以及注意事项
最新推荐文章于 2024-12-23 14:27:34 发布