转自:微点阅读 https://www.weidianyuedu.com
1.1 JavaScript 变量命名规则
正首字符应为英文字母或者下划线;
组成应为英文字母或者数字或者下划线;
禁忌用JavaScript关键词与保留字;
1.2 JavaScript 变量声明
显示声明 var 变量名;
应避免陋习:没有类型、重复声明、隐式声明、不声明直接赋值;
应先声明,后读写;先赋值,后运算;
1.3 JavaScript 变量类型
值类型
1. 占用空间固定,保存在栈中;
2. 保存与复制的是值本身;
3. 使用typeof检查数据的类型;
4. 基本类型数据是值类型;
引用类型
1. 占用空间不固定,保存在堆中;
2.保存与复制的是指向对象的一个指针;
3.使用instanceof检测数据的类型;
4.使用new()方法构造出的对象是引用型
1.4 JavaScript 变量作用域
全局变量是指在函数体外定义的变量或在函数体内部定义的无var的变量;
任何位置都可以调用;
局部变量是指在函数体内部使用var声明的变量或函数的参数变量;
当前函数体内部可以调用;
1.5 JavaScript 优先级
优先级:局部变量高于同名全局变量;
参数变量高于同名全局变量;
局部变量高于同名参数变量;
特性:忽略块级作用域;
全局变量是全局对象的属性;
局部变量是调用对象的属性;
内层函数可访问外层函数局部变量;
外层函数不能访问内层函数局部变量;
全局变量的生命周期,除非被显示删除,否则一直存在;
局部变量的生命周期自声明起至函数运行完毕或被显示删除;
1.6 示例代码
<!DOCTYPE html>
<html>
<body>
<p>假设 y=5,计算 x=y+2,并显示结果。</p>
<button οnclick="myFunction()">点击这里</button>
<p id="demo"></p>
<script>
function myFunction()
{
var y=5;
var x=y+2;
var demoP=document.getElementById("demo")
demoP.innerHTML="x=" + x;
}
</script>
</body>
</html>