# JavaScript 语法
- <a href="#no1">2.1 准备工作</a>
- <a href="#no2">2.2 语法</a>
- <a href="#no3">2.3 操作</a>
- <a href="#no4">2.4 条件语句</a>
- <a href="#no5">2.5 循环语句</a>
- <a href="#no6">2.6 函数</a>
- <a href="#no7">2.7 对象</a>
- <a href="#no8">2.8 小结</a>
##<a name="no1">2.1 准备工作</a>
> 编写`JavaScript`脚本不需要任何特殊的软件,一个普通的文本编辑器和一个`Web`浏览器就足够了。
##<a name="no2">2.2 语法</a>
> 我们把语言结构方面的各项规则,称之为“语法”。
**2.2.1 语句**
用`JavaScript`编写的脚本,与其他语言编写出来的脚本一样,都由一系列指令构成,这些指令叫做语句。只有按照正确的语法编写出来的语句才能得到正确的解释。
**2.2.2 注释**
不是所有的语句都需要`JavaScript`解释器去解释并执行。有时候需要在脚本中写一些仅供自己参考或提醒自己的信息,你希望`JavaScript`解释器能直接忽略掉这些信息。这类语句就是**注释**。
`JavaScript`有如下几种注释方式:
//自我提醒:有注释是好事
/*自我提醒:
有注释是好事 */
<!-- 这是JavaScript中的注释 (js对其处理与 // 一样)
**2.2.3 变量**
> 人们把那些会发生变化的东西成为**变量**。
在`JavaScript`中你可以这样给变量赋值:
sex = '男';
age = '25'
var mood;
var age;
var mood,age;
var mood = 'happy';
var age = 25;
var mood,age;
mood = 'happy';
age = 25;
**2.2.4 数据类型**
1. 字符串:由零个或多个字符构成。字符包括(但不限于)字母、数字、标点符号和空格。字符串必须包含在引号内,单引号或双引号都可以。
2. 数值
3. 布尔值:布尔数据只有两个可选值(`true`或`false`)。
**2.2.5 数组**
> 数组是指用一个变量表示一个值的集合,集合中的每个值都是这个数组的一个元素。
**2.2.6 对象**
> 与数组类似,对象也是使用一个名字表示一组值。对象的每个值都是对象的一个属性。
##<a name="no3">2.3 操作</a>
> 加减乘除都是一种操作,每一种都必须借助于相应的操作符才能完成。
**其中加号(+)是一个比较特殊的操作符,它既可以用于数值,也可以用与字符串。把两个字符串合二为一是一种很直观易懂的操作:**
var message = 'I am feeling ' + 'happy';
##<a name="no4">2.4 条件语句</a>
最常见的条件语句是 `if` 语句,下面是`if`语句的基本用法:
if(condition){
statements;
}
**条件必须放在`if`后面的圆括号中。条件的求值结果永远是一个布尔值,即只能是`true`或`false`。花括号中的语句——不管它们有多少条,只有在给定条件的求值结果是`true`的情况下才会执行。**
**2.4.1 比较操作符**
> `JavaScript`还提供了许多几乎只能用在条件语句里面的操作符,其中包括诸如大于(>)、小于(<)、大于或等于(>=)、小于或等于(<=)之类的比较操作符。
>如果想比较两个值是否相等,可以使用“等于”比较操作符。这个操作符由两个等号构成(==)。
- >
- <
- >=
- <=
- ==
- ===
- !=
- !==
**2.4.2 逻辑操作符**
- && : 逻辑与
- || : 逻辑或
- ! : 逻辑非
##<a name="no5">2.5 循环语句</a>
> 循环语句可以让我们反复多次地执行同一段代码。工作原理:只要给定条件仍能得到满足,包含在循环语句里的代码就将重复地执行下去;一旦给定条件的求值结果不再是`true`,循环也就到此为止。
**2.5.1 `while`循环**
`whild`循环与`if`语句非常相似,语法几乎完全一样
whild(condition){
statements;
}
`while`循环与`if`语句唯一的区别是:只要给定条件的求值结果是`true`,包含在花括号里的代码就将反复的执行下去。
var count = 1;
while(count < 11){
console.log(count);
count++;
}
#####**`do...while`**循环
【包含在花括号里面的代码至少执行一次。】
do{
statuments;
}while(condition);
**2.5.2 `for`循环**
> `for`循环类似于`while`循环,好处是循环控制结构更加清晰,与循环有关的所有内容都包含在`for`语句的圆括号部分。
##<a name="no6">2.6 函数</a>
> 如果需要多次使用同一段代码, 可以把它们封装成一个函数。函数就是一组允许在你的代码里随时调用的语句。每个函数实际上是一个短小的脚本。
**定义一个函数的语法:**
function name(arguments){
statements;
}
**变量的作用域**
> 变量既可以是全局的,也可以是局部的。
- 全局变量 : 可以在脚本中的任何位置被引用。全局变量的作用域是整个脚本。
- 局部变量 : 只存在于声明它的那个函数的内部,在那个函数的外部是无法引用它的。局部变量的作用域仅限于某个特定的函数。
##<a name="no7">2.7 对象</a>
> 对象(`object`)是一种非常重要的数据类型,是字包含的数据集合,包含在对象里面的数据可以通过两种形式访问——属性(`property`)和方法(`method`):
- 属性是隶属于某个特定对象的变量。
- 方法是只有某个特定对象才能调用的函数。
**对象就是由一些属性和方法组合在一起而构成的一个数据实体。**
在`JavaScript`中,属性和方法都使用‘点’语法来访问:
Object.property
Object.method()
**实例是对象的具体个体。**
**2.7.1 内建对象**
> 在`JavaScript`中,拿来就可以用的对象成为内建对象(`native object`)。
**2.7.2 宿主对象**
> 除了内建对象,还可以在`JavaScript`脚本中使用一些已经预先定义好的其他对象。这些对象不是由`JavaScript`语言本身而是由它的运行环境提供的。具体到`Web`应用,这个环境就是浏览器。由浏览器提供的预定义对象成为宿主对象(`host object`);
宿主对象包括:`Form、Image、Element`等。我们可以他用过这些对象获得关于网页上表单、图像和各种表单元素等信息。
##<a name="no8">2.8 小结</a>
本章主要介绍了一些`JavaScript`语言的基础知识。介绍了一些术语:语句、变量、数组和函数等。