1、js引入方式
外部,通过script标签 src属性 type=’text/javascript‘ (此处再次印证了js为脚本语言、以文本方式保存)引入
script标签用于定义客户端脚本,即可包含脚本,也可指向外部脚本文件。
注意:外部引入只引入外部文件就行(引入js的script的内部js代码不会执行)
2、变量
ECMAScript的变量是松散类型的,可以保存任意类型的值。每个变量只是保存值的命名占位符而已。
变量声明,向系统声明存储空间,不能以数字开头,关键字和保留字不能用,类名开头推荐大写
变量赋值 = (不是等号,是赋值)
变量声明时如果忽略关键字,该变量将被声明为全局变量。但是这种情况在,es5严格模式下会报错。
3、js值类型
1、原始值
number string boolean undefined null symbol
js赋值时,类型是根据值类型来判断的(无需声明int float)。弱类型语言。
symbol为es6新增类型,表示唯一的标识。typeof Symbol( ) 返回 ‘symbol’。
重新给变量赋值,内存空间的运行过程(不是给原空间直接赋值,而是重新开辟空间,来保存新值。原来的内存空间依然保存着原来的值。)
var a = 3;
var b = a;(申请了一个空间,将a的值赋值给b)
a = 1;
2、引用值
Object Function Array
引用类型变量也存在栈内存中,存的是指向堆内存的指针(地址),指向的堆内存空间保存着引用值,而且js是值传递
4、js栈内存与堆内存
栈内存,一般储存基本类型(原始类型)以及引用类型的指针。原始类型一般大小已知或者大小有上限。
堆内存则储存引用类型的值。
栈内存线性有序储存,容量不大,系统分配率高。