JS简介
主要功能
- 嵌入动态文本于HTML页面。
- 对浏览器事件做出响应。
- 读写HTML元素。
- 在数据被提交到服务器之前验证数据。
- 检测访客的浏览器信息。 控制cookies,包括创建和修改等。
- 基于Node.js技术进行服务器端编程。
语言组成
- ECMAScript,描述了该语言的语法和基本对象。
- 文档对象模型(DOM),描述处理网页内容的方法和接口。
- 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。
运行模式
JavaScript是一种属于网络的高级脚本语言,被广泛用于Web应用开发,用来为网页添加动态功能。
通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
- 是一种解释性脚本语言(代码不进行预编译)。
- 主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
- 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
- 跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
- JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。
语言特点
- 脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。
- 基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。
- 简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。
- 动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。
- 跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支持JavaScript脚本语言,JavaScript已被大多数的浏览器所支持。
- 不同于服务器端脚本语言,例如PHP与ASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题,安全性。
编译模式
- JavaScript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。直译语言的弱点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的语言也无法运行。
变量
变量的作用
- 变量:用于存储信息的"容器",是命名的内存空间,可以使用变量名称找到该内存空间。
- 可以通过变量名获取或修改其中的数据。
- 类似代数中x=5,y=6.
变量的使用
两种方式
- 先声明,再赋值
var a; //声明变量,在内存中分配一块存储区
a = 10; //给变量赋值
- 初始化变量(将声明和赋值同时写出)
var a = 10;
命名规范
- 由字母,数字,下划线,美元符号($)组成。
- 变量不能以数字开头。
- 变量名称对大小写敏感(y 和 Y 是不同的变量)。
- 不能使用脚本语言中保留的关键字、保留字、true、false 和 null 作为标识符。
数据类型
分类
值类型(基本类型):
- 字符串(String)
- 数字(Number)
- 布尔(Boolean)
- 空型(Null)
- 未定义(Undefined)
- Symbol(ES6 引入了一种新的原始数据类型,表示独一无二的值。)
引用数据类型:
- 对象(Object)
- 数组(Array)
- 函数(Function)。
注意:JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型。
运算符
算术运算符
运算符 | 描述 | 例子 | x 运算结果 | y 运算结果 |
---|---|---|---|---|
+ | 加法 | x=y+2 | 7 | 5 |
+ | 减法 | x=y-2 | 3 | 5 |
+ | 乘法 | x=y*2 | 10 | 5 |
/ | 除法 | x=y/2 | 2.5 | 5 |
% | 取模(余数) | x=y%2 | 1 | 5 |
++ | 自增 | x=++y | 6 | 6 |
x=y++ | 5 | 6 | ||
+ - | 自减 | x=- -y | 4 | 4 |
x=y- - | 5 | 4 |
赋值运算符
x=10 ,y=5
运算符 | 例子 | 等同于 | 运算结果 |
---|---|---|---|
= | x=y | x=5 | |
+= | x+=y | x=x+y | x=15 |
-= | x-=y | x=x-y | x=5 |
*= | x*=y | x=x*y | x=50 |
/= | x/=y | x=x/y | x=2 |
%= | x%=y | x=x%y | x=0 |
比较运算符
x=5
运算符 | 描述 | 比较 | 返回值 |
---|---|---|---|
== | 等于 | x==8 | false |
x==5 | true | ||
=== | 绝对等于(值和类型均相等) | x===“5” | false |
x===5 | true | ||
!= | 不等于 | x!=8 | true |
!== | 不绝对等于(值和类型有一个不相等,或两个都不相等) | x!==“5” | true |
x!==5 | false | ||
> | 大于 | x>8 | false |
< | 小于 | x<8 | true |
>= | 大于或等于 | x>=8 | false |
<= | 小于或等于 | x<=8 | true |
逻辑运算符
注意:&&和||是短路运算,即左边表达式可以确定结果时,就不运算右边表达式。
- &&短路:第一个表达式为false,就不运算第二个表达式
- ||短路:第一个表达式为true,就不运算第二个表达式
条件运算符
- 条件表达式?表达式1:表达式2
- 若条件表达式的值为true,则返回表达式1的结果;反之,返回2的结果
- 例如:voteable=(age<18)?“年龄太小”:“年龄已达到”;
如果变量 age 中的值小于 18,则向变量 voteable 赋值 “年龄太小”,否则赋值 “年龄已达到”。