ECMAScript
ECMAScript是一种标准,而实现这一标准的是JavaScript。
JavaScript是1996年出生,1997年提交给ECMA International,因此才有了ECMAScript标准。
2015年ECMA-262发出第6个版本,简称ES6或者ES2015。
ECMAScript基于JavaScript,而JavaScript也是遵循ECMAScript,两者密不可分。
但是JS要比ES含义多得多,比如一个完整的JavaScript实现由以下三个不同部分组成:
ECMAScript:ECMAScript核心
DOM: 文档对象模型
BOM: 游览器对象模型
JavaScript |
---|
JavaScript基础
JavaScript在开发中基本都是基于对象也是面向对象操作对象
ES大致包含语法,类型,语句,关键字,保留字,运算符,对象(封装,基础,多态)基于对象的语言使用对象
引入方式
1 | /*直接写在页面中*/ |
变量
声明变量的时候,可以不使用var,如果不使用var就是全局变量
变量命名,首字母只能是(字母,下划线,$),变量区分大小写
变量遵循以下某条著名命名规范
canel标记法:首字母小写,接下来的字符开头都是大写开头 例: myName
fascal标记法:首字母大写,接下来的字符开头都已大写开头 例:MyName
匈牙利标记法:在以Fascal标记法命名的变量前附加一个小写字母(或小写字母序列)说明该变量类型
1 | i表示整数,s表示字符串 如Var iMyAge=18 , Var sMyName='zhuxy' |
实例
1 | var Name='zhuxuyue',iAge=20,Job='python'; |
通常每行 结束前可以不加
;
号,js默认以换行自动添加分号注释使用
\\
或者\* *\
来注释多行
代码块
在JS中使用
{}
来封装代码块
1 | /*python中表示*/ |
示例
1 | <script> |
标识符
不能以数字开头的字符,数字,下划线,
$
符组成_abc,$abc,abc,abc123都是标识符,1abc则不是
常用语表示函数,变量等名称
保留字
ecma v3标准保留的js关键字
1 | break case catch continue default delete do else false finally |
数据类型
1 | number //数字类型 |
运算符
1 | + - * / % |
逻辑运算符
运算符 | 说明 | 运算符 | 说明 |
---|---|---|---|
== |
等于 | != |
不等于 |
> |
大于 | < |
小于 |
>= |
大于等于 | <= |
小于等于 |
&& |
与 | II | 或 |
! |
非 | - | - |
1 | 示例: |
控制语句
if
,else if
,else
语句
1 | //语法 |
switch
语句
1 | //语法 |
for
循环语句
1 | //语法 |
while
循环
1 | //语法 |
异常处理
1 | //语法 |
JavaScript内置对象
Object对象相关概念
由ECMAScript定义的本地对象,独立于宿主环境的ECMAScript实现提供的对象(Native Object)
由ECMAScript实现提供独立于宿主机环境的所有对象,在ECMAScript程序开始执行时出现,
开发者不必明确实例化内置对象,它已经被实例化,ECMA-262只定义了两个内置对象
global
和match
(它们也是本地对象,根据定义每个内置对象都是本地对象)(Built-In Object)由ECMAScript实现的宿主环境提供的对象,所有非本地对象都是宿主对象(Host Object),
BOM
和DOM
都是宿主对象Object对象:ECMAScript中所有对象都是由这个对象继承而来;Object对象中的所有属性和方法都会出现在其他对象中
ToString()
返回对象原始字符串表示
ValueOf()
返回适合该对象的原始值对于很多对象该方法返回值都和
ToString()
返回值一样
内置对象
通常可以使用
typeof(object)
来显示对象类型
var Name='zhuxy'
console.log(typeof(Name))
数据对象 | 组合对象 | 高级对象 |
---|---|---|
Number 数字对象 |
Array 数组 |
Object 自定义对象 |
String 字符串对象 |
Math 数学对象 |
Error 错误对象 |
Boolean 布尔值对象 |
Data 日期对象 |
Function 函数对象 |
- | - | RegExp 正则表达式对象 |
- | - | Global 全局对象 |
String字符串对象
1 | //创建String对象 |
Array数组对象
1 | //创建数组对象 |
Function函数对象
函数创建
1 | //创建函数方法 |
调用函数
1 | //调用函数 |
匿名函数
1 | //匿名函数 |
作用域
1 | //示例 |
嵌套作用域
1 | //示例 |
BOM对象
游览器对象模型(Browse Object Models)
对游览器窗口进行访问操作,使用BOM,开发者可以移动窗口,改变状态栏中文本以及执行其他页面内容的动作
使javascript又有能力跟游览器交互。
BOM对象模型 |
---|
Window对象
所有游览器对象都支持window对象
- 概念上来说:一个html文档相当于一个window对象
- 功能上来说:控制游览器窗口
- 使用上来说:window对象不需要创建,直接调用
1 | //window方法: |
History对象
history对象包含用户(在游览器窗口中)访问过的url
history是window对象一部分,可通过window.history属性对其进行访问
length返回游览器历史列表的url数量
1 | //history方法 |
Location对象
Location 对象包含有关当前URL信息
Location对象是windows对象一部分,也可以通过window.location属性访问
1 | //Location方法 |