目录
一.JavaScript简介
JavaScript 是一种解释型的脚本语言,被大量地应用于网页中,用以实现网页和浏览者的动态交互。目前几乎所有的浏览器都可以很好地支持 JavaScript。由于 JavaScript 可以及时响应浏览者的操作,控制页面的行为表现,提高用户体验,因而已经成为前端开发人员必须掌握的语言之一。
JavaScript 是为满足制作动态网页的需要而诞生的一种编程语言,是由 Netscape开发的嵌入到 HTML 文件中的基于对象(Object)和事件驱动(Event Driven)的脚本语言。在 HTML 基础上,使用 JavaScript 可以开发交互式(网页)Web。JavaScript 的出现使得网页和用户之间实现了实时、动态和交互的关系。JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择。
二.JavaScript
1.JavaScript使用
1.在 HTML 中,JavaScript 代码必须位于<script>与</script>标签之间。
2.JavaScript函数是一种Javascript代码块,它可以在调用时被执行。
2.Javascript输出
JavaScript不提供任何内建的打印或显示函数。它可以不同方式“显示”数据
(1)使用window.alert()写入警告框
(2)使用document.write()写入HTML输出
(3)使用innerHTML写入HTML元素
(4)使用console.log()写入浏览器控制台
3.javascript变量
所有 JavaScript变量必须以唯一名称标识。这些唯一的名称称为标识符。
标识符可以是短名称(比如 x 和 y),或者更具描述性的名称(age、sum、totalVolume)。
构造变量名称(唯一标识符)的通用规则是:
1.名称可包含字母、数字、下划线和美元符号
2.名称必须以字母开头
3.名称也可以 $
和 _
开头(但是在本教程中我们不会这么做)
4.名称对大小写敏感(y 和 Y 是不同的变量)
5.保留字(比如 JavaScript 的关键词)无法用作变量名称
提示:JavaScript 标识符对大小写敏感。
4.Javascript注释
JavaScript 注释用于解释 JavaScript 代码,增强其可读性。
JavaScript 注释也可以用于在测试替代代码时阻止执行。
二.JavaScript对象
1.定义
在 JavaScript 中,几乎“所有事物”都是对象。
布尔是对象(如果用 new 关键词定义)
数字是对象(如果用 new 关键词定义)
字符串是对象(如果用 new 关键词定义)
日期永远都是对象
算术永远都是对象
正则表达式永远都是对象
数组永远都是对象
函数永远都是对象
对象永远都是对象
所有 JavaScript 值,除了原始值,都是对象。
2.对象属性
属性指的是与 JavaScript 对象相关的值。
JavaScript 对象是无序属性的集合。
属性通常可以被修改、添加和删除,但是某些属性是只读的。
访问对象属性的语法是:
objectName.property //person.age
objectName["property"] //person["age"]
objectName[expression] //x="age";person[x]
表达式必须计算为属性名。
3.对象方法
JavaScript 方法是能够在对象上执行的动作。
JavaScript 方法是包含函数定义的属性。
方法是存储为对象属性的函数。
this 关键词
在 JavaScript 中,被称为this的事物,指的是拥有该 JavaScript 代码的对象。
this的值,在函数中使用时,是“拥有”该函数的对象。this并非变量。它是关键词。无法改变this的值。
三.JavaScript函数
1.函数定义
JavaScript 函数是通过function关键词定义的。可以使用函数声明或函数表达式。被声明的函数不会直接执行。他们被保存供稍后使用,将在稍后执行。
JavaScript 函数也可以使用表达式来定义。函数表达式可以在变量中存储,在变量中保存函数表达式之后,此变量可用作函数。
2.函数参数
JavaScript 函数不会对参数值进行任何检查。
参数规则
JavaScript 函数定义不会为参数(parameter)规定数据类型。
JavaScript 函数不会对所传递的参数(argument)实行类型检查。
JavaScript 函数不会检查所接收参数(argument)的数量。
如果调用参数时省略了参数(少于被声明的数量),则丢失的值被设置为:undefined。有时这是可以接受的,但是最好给参数指定默认值。
参数通过值传递
函数调用中的参数(parameter)是函数的参数(argument)。JavaScript 参数通过值传递:函数只知道值,而不是参数的位置。如果函数改变了参数的值,它不会改变参数的原始值。参数的改变在函数之外是不可见的。
对象是由引用传递的
在 JavaScript 中,对象引用是值。正因如此,对象的行为就像它们通过引用来传递:如果函数改变了对象属性,它也改变了原始值。对象属性的改变在函数之外是可见的。
3.闭包
JavaScript变量属于本地或全局作用域。全局变量能够通过闭包实现局部私有。
JavaScript 嵌套函数
所有函数都有权访问全局作用域。事实上,在javascript中,所有函数都有权访问它们“上面”的作用域。JavaScript 支持嵌套函数。嵌套函数可以访问其上的作用域。
四.JavaScript类
1.类简介
可以使用关键字class创建一个类,当有了一个类时,可以使用这个类来创建对象。
构造方法
构造方法是一种特殊的方法:
- 它必须有确切的名称的 “constructor”
- 创建新对象时自动执行
- 用于初始化对象属性
- 如果您没有定义构造方法,JavaScript 会添加一个空的构造方法
2.类的继承
创建类的继承,使用extends关键字,使用类的继承创建的类继承了另一个类的所有方法。
类还允许使用 getter 和 setter。如需在类中添加 getter 和 setter,请使用 get
和 set
关键字。即使 getter 是一个方法,当想要获取属性值时也不要使用括号。getter/setter 方法的名称不能与属性名称相同。
3.static方法
static类方法是在类本身上定义的,不能在对象上调用static方法,只能在对象类上调用。如果要在static方法中使用对象,可以将其作为参数发送。