变量
{ }中的代码块是一个作用域
let 在不同作用域下无法获取值,全局作用域的值可以传递给局部,局部****不能传递给全局
let num = 10;
{
let num=200;
// var num =100;
console.log(num);//输出的值为200
}
console.log(num);//输出的值为10,不能接收{ }里面的值
变量的命名规则
1.见名知意
2.变量只能是 字母, 数字 ,下划线 和 $ 组成,不能以数字开头
3.不能使用系统的关键字和保留字
比如:var this class array string 等等
常用的命名方法
1.驼峰命名法:第一个单词的首字母小写,其余单词首字母大写
例如: myShopCar userCenter
2.帕斯卡命名法(大驼峰命名法) 每一个单词的首字母大写
例如: MyShopCar UserCenter
3**.匈牙利**命名法:属性+类型+描述,使用下划线链接
属性:
s表示静态变量
g表示全局变量
类型:
string 字符串
bool 布尔值
命名 s_string_eat 表示静态字符串吃饭的意思
以下写法虽然可行,但是不要使用(不要用文字命名)
var 中国= ‘台湾是中国不可分割的一部分’
console.log(中国);
常量:一旦定义,他的值不可以更改的量
声明一个常量,使用的关键字是 const
const PI = 3.14
console.log(PI); //输出的值为3.14
//常量的值不能修改,以下写法会报错
PI = 3.67
变量的分类
1.number 数字类型,包含整数和小数
2.string 字符串类型
3.bollean 布尔类型,布尔类型只有两个值 true(真) false(假)
4.undefined 类型,未定义的类型
5.object 对象类型
6.null 空,特殊类型
使用typeof 方法获取变量的类型
使用方法:
typeof 变量名
typeof (变量名)
控制台返回的是变量的类型
// 数字类型
console.log(typeof num1);
console.log(typeof (num1));
console.log(typeof (12.34));
//字符串类型, (带 ' ' 号,或者 " "
let str1 = '莫听穿林打叶声';
console.log( typeof str1);
let str2 = '123'
console.log( typeof str1);
//布尔类型
let bol1=true;
console.log(typeof bol1);
let bol2=false;
console.log(typeof bol2);
//未定义类型,ucdefined
let abc;
console.log(typeof abc);
//对象类型
//body 里面写一个div
<div id="wp" class="wp1"></div>
//head里面写wp的css样式
<style>
*{
margin: 0;
padding: 0;
}
.wp1{
width: 200px;
height: 200px;
background: #04be02;
}
</style>
// body 外面写 js 样式
// js 中 通过document.getElementById('元素id'); 获取 dom元素
let wp = document.getElementById('wp');
console.log(typeof wp);
console.log(wp.className);
//null类型
let n = null;
console.log(typeof n);