一、javascript的脚本引入
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>引入</title>
</head>
<body>
<script>
document.write('hello world');
</script>
<script type="text/javascript" src="./index.js"></script>
</body>
</html>
二、变量,赋值
- 变量是一个存储数据的容器,作用:后续使用。声明方式 var。
<script>
var a; //变量声明
a = 3; //变量赋值
var a = 3; //变量声明并赋值
var x = 1 ,
y; //单一声明方式,逗号隔开声明多个
</script>
- 命名规范:不能以数字开头,能字母_$开头;不能使用关键字,保留字;语义化,结构化,小驼峰命名法。
ECMAScript关键字:
break case catch continue default delete do else finally for function if in instanceof new return switch this throw try typeof var void while with
ECMAScript保留字
abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile
- javascript的原始值与引用值
- 原始值——基本类型 Number String Boolean undefined null 五种类型,原始值不可改变
- 引用值—— object array function date RegExp
(1)原始值存储在栈内存。
举例 var a = 3; var b = a ; a = 1;
var a = 3 时即栈内存中 1008 命名为 a ,对应空间存储 3
var b = a 时,1007命名为b,对应空间 拷贝a 的内存值 ;
当再设置 a = 1 时,不是直接修改a空间的值 ,而是现有 a 还原为1008,对应空间的 数据3 保留 ,1006命名为a ,对应空间数据为1。(图示如下)
(2)引用值 值不存在栈内存,值的地址存在栈内存
example: var arr1 = [1,2,3,4]; var arr2 = arr1; arrr1.push(5);
导致结果 打印arr2 也改变成[1,2,3,4,5] (产生原因如下图所示)
接上再声明 var arr1 = [1,2]; (如下图所示)