js 基础 – JavaScript基本信息
基本信息
全称:JavaScript
标准制定:ECMA 欧洲计算机制造商协会
JavaScript 组成:
1.ES:核心、EcmaScript 标准:ECMA - 262
2.BOM:浏览器对象模型,用于访问和操作浏览器窗口
3.DOM:文档对象模型
语法构成
区分大小写
标识符:指变量函数属性的名字或者函数的参考。
1.第一个字符:必须是一个字母、下划线、美元符
2.其它字符:字母、下划线、美元符、数字。
3.不能把保留字、关键字、true、false、null 作为标识符
注释:单行: // xxx , 多行: /* xxx */
直接量(字面量 literal):所谓直接量,就是程序中直接显示出来的数据值。
引用方式
JavaScript 属于脚本语言:
是一种轻量级的编程语言。
是可插入HTML页面的编程代码。
插入HTML页面后可由所有的现代浏览器执行。
HTML 中的脚本必须位于< script >标签之间,
脚本被放置在HTML页面的< body > / < header > 部分中。
属性:
1.charset:可选,表示通过src 属性指定的字符集。
2.defer:可选,表示脚本可以延迟到文档完全被解析和显示后执行。
3.src :可选,表示包含要执行代码的外部文件。
4.type:必选,表示代码使用的脚本语言的内容类型。
例:< script type=”text/javascript ” src=”xxx “>
js 变量
ECMAScript 的变量是松散类型(弱类型)的,所谓松散类型,就是用来保存任何数据的类型。
定义变量时要使用 var 操作符,后面跟一个变量名(变量名是标识符)
声明一个变量:var = abc;
赋值:abc = 200;
简写:var abc = 200;
同时声明多个变量:var c1,c2,c3;
同时声明并赋值:var c1 = 100, c2 = 200, c3 = 300;
赋值:变量 = 变量 或 数据;如:c1 = c2;
= 赋值运算符,作用:把右边的值赋值给左边的变量。
声明提前:
在浏览器运行时会将变量的声明部分提前到其作用域的顶部读取,赋值部分位置不变。
变量类型
值类型:
占用空间固定,保存在栈中
保存与复制的是值本身
使用 typeof 检测数据的类型
基本数据类型是值类型
引用类型:
占用空间不固定,保存在堆中
保存与复制的是指向对象的指针
使用 instance of 检测数据类型
使用 new( ) 方法构造出的对象为引用类型
作用域
全局变量
包含在函数体外定义的变量。
在函数内部定义的但无 var 的变量
可以在任何位置调用
局部变量
包含在函数内部使用 var 声明的变量
函数的参数变量
只能在当前函数体内部调用
优先级
局部变量高于同名全局变量
参数变量高于同名全局变量
局部变量高于同名参数变量
特性
忽略块级作用域
全局变量是全局对象的属性
局部变量是调用对象的属性
作用域链
内层函数可以访问外层函数的局部变量,
外层函数不能访问内层函数局部变量。
生命周期
全局变量除非被显示删除,否则一直存在。
局部变量自声明起至函数运行完毕或被显示删除。
回收机制:标记清除,引用计数