const USER_NAME = "阿皮"; //常量
console.log(USER_NAME);
let userName = "皮皮"; //变量
console.log("hello" + userName);
// 命名函数
function sayHello(name) {
return "你好啊"+ name
}
console.log(sayHello(userName));
// 匿名函数
const sayHello1 = function (name) {
return "你好啊"+ name
}
console.log(sayHello1(userName));
// 箭头函数
const sayHello2 = (name) =>{ return "你好啊"+ name}
console.log(sayHello2(userName));
// 立即执行函数
const sayHello3 =(function sayHello3(name) {
console.log("你好啊"+ name);
})(userName);
// ---------------
// 1.允许重复变量的声明
var x = 1;
var x = 2;
var x = 3;
var x = 5;
console.log(x);// 可以看到输出的x是5 原始数据被覆盖
// 2.局部变量挂载到全局对象,造成全局对象的污染 (变量提升)
// 在函数内定义的变量是局部变量,而在函数之外定义的变量称为外部变量,外部变量是全局变量
function add(a) {
for(var v = 0;v < 5;v++){
//在循环体内输出v
console.log(v);
}
//在循环体外输出v
console.log(v)
}
add(1)
// 3.未声明即可使用
function foo() {
console.log(y); // => undefined
var y= 1;
console.log(y); // => 1
}
foo()