JavaScript语法
本章内容:
- 语句
- 变量和数组
- 操作符
- 条件语句和循环语句
- 函数与对象
2.1
首先你的test.html应该包含如下内容:
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Just a test</title>
</head>
<body>
<script src="example.js"></script>
</body>
</html>
将<script>
标签放在HTML文档的最后,</body>
之前,是为了使浏览器更快地加载页面。
2.2.1 语句
JavaScript的语句要求并不严格。为了让代码更易于阅读,同时更容易跟踪JavaScript脚本的执行顺序,建议每条语句的末尾都加上分号,并且让每条语句都独占一行:
first statement;
second statement;
2.2.2 注释
注释写法:
//这是一条注释
/*这样
*就是
*是多行注释*/
2.2.3 变量
变量需要声明赋值。
1、var mood="happy",age=33;
2、var mood="happy";
var age=33;
JavaScript语法不允许变量名中包含空格或标点符号(美元符号$例外)。
JavaScript变量名允许包含字母、数字、美元符号和下划线(但第一个字符不允许是数字),为了让比较长的变量名更容易阅读,可以在变量名中的适当位置插入下划线,例如:
var my_mood = "happy";
另一种方式是使用驼峰格式,第一个单词字母小写,后面的每个新单词首字母大写,例如:
var myMood = "happy";
通常驼峰格式是函数名、方法名和对象属性名命名的首选格式。
2.24 数据类型
JavaScript是一种弱类型语言,不需要进行类型声明。
JavaScript的数据类型:
- 字符串
- 字符串包括但不仅限于字母、数字、标点符号和空格。字符串必须包含在引号里,单引号或者双引号都可以。例如:
var mood = "happy";
var mood = 'happy';
两种语义完全相同。
如果字符串包含双引号,就把整个字符串放在单引号里,如果字符串包含单引号,就把整个字符串放在双引号里,例如:
var mood = "don't ask";
同时,使用转义符可以避免此类问题,JavaScript里使用反斜线对字符进行转义:
var mood = 'don\'t ask';
var height = "about 5'10\"tall";
可以验证一下,将下列语句添加到example.js文件中:
var height = "about 5'10\"tall";
alert(height);
作为一个良好的编程习惯,不管是选择用双引号还是单引号,请在整个脚本中保持一致。
- 数值
可以为变量赋数值,可以为整数,浮点数,负数,负浮点数,例如:
var age = 33;
var age = 33.25;
var temperature = -20;
var temperature = -20.3333;
- 布尔值
布尔值只有两个可选值——true或者false。
var married = true;
从某种意义上讲,为计算机设计程序就是与布尔值打交道。
2.2.5 数组
字符串、数值和布尔值都是标量。如果某个变量是标量,它在任意时刻就只能有一个值。如果想用一个变量存储一组值,就需要使用数组(Array)。
例如:
1.
var beatles = Array(4);
var beatles = Array();
Array[index] = element;
Array[0] = "John";
Array[1] = "Paul";
Array[2] = "George";
Array[3] = "Ringo";
2.
var beatles = Array("John","Paul","George","Ringo");
3.
var beatles = ["John","Paul","George","Ringo"];
同时,数组还可以是一组数值,可以是字符串数值布尔值混杂,还可以是变量。
2.2.6 对象
1.
var lennon = Object();
lennon.name = "John";
lennon.year = 1940;
lennon.living = false;
2.
var lennon = {name:"John",year:1940,living:false};
与使用Array类似,创建对象使用Object关键字。它不使用方括号和下标来获取元素,而是像任何JavaScript对象一样,使用点号来获取属性。
2.3 操作
算术操作符
var total = (1+4)*5;
var temp_fahrenheit = 95;
var temp_celsius = (temp_fahrenheit)/1.8;
year = year +1; //结果加1;
year++; //这样也是加1;
++year; //这样也是加1;
year +=1; //这样还是加1;
var message = "I am feeling" + "happy"; //加号为拼接;
2.4 条件语句
JavaScript使用条件语句来做判断。
最常见的条件语句为“if 语句”,基本语法为:
1.
if(condition){
statement;
}
2.
if(condition){
statement;
}
else{
statement;
}
2.4.1 比较操作符
“等于”比较操作符为“==”
“不等于”比较操作符为“!=”
“全等”操作符为“===”,此时进行严格比较,比较值,且比较变量的类型。
2.4.2 逻辑操作符
JavaScript允许把条件语句里的操作组合在一起。例如,如果想检查某个变量,不妨假设这个变量名字是num,它的值是不是在5~10之间,我将需要进行两次比较操作。首先,比较这个变量是否大于或等于5;然后比较这个变量是否小于或等于10.这两次比较操作称为逻辑比较。
if ( num >= 5 && num<=10){
alert("The num is in the right range.");
}
这里使用了“逻辑与”操作符。
逻辑操作符的操作对象是布尔值。每个逻辑操作数返回一个布尔值true或者false。
&& 逻辑与
|| 逻辑或
! 逻辑非
2.5.1 while循环语句
while循环语句与if语句唯一的区别是:只要给定条件的求值结果是true,包含在花括号里的代码就将反复执行下去。
while(condition){
statement;
}
如果希望包含在循环语句内部的代码至少执行一次。这时,do循环是我们的最佳选择。
var count = 1;
do{
alert(count);
count++;
}
while(count<1);
2.5.2 for循环
initialize;
while(condition){
statement;
increment;
}
for(initial condition; test condition; alter condition){
statement;
}
用for循环的好处是循环控制结构更加清晰。与循环有关的所有内容都被包含在for语句的圆括号部分。
for(var count = 1; count < 11; count++){
alert(count);
}
for循环最常见的用途之一是对某个数组里的全体元素进行遍历处理。
var bealtes = Array("John","Paul","George","Ringo");
for(var count = 0; cont < bealtes.length; count++){
alert(beatles[count]);
}
2.6 函数
如果需要多次使用同一段代码,可以把它们封装成一个函数。
函数就是一组允许在你的代码里随时调用的语句。事实上,每个函数实际上是一个短小的脚本。
作为一个良好的编程习惯,应该先对函数做出定义再调用它们。
function name(arguments){
satement;
}
在定义函数的时候,你可以为它声明多个参数,只要用逗号分隔开来就行。
function multiply(num1,num2){
var total = num1 * num2;
alert(total);
}
multiply(10,2); //20;
函数的真正价值体现在,我们可以把它们当做一种数据类型来使用,这意味着可以把一个函数的调用结果赋给一个变量。
function converToCelsius(temp){
var result = temp - 32;
result = result / 1.8;
return result;
}
var temp_fahrenheit = 95;
var temp_celsius = converToCelsius(temp_fahrenheit);
alert(temp_celsius); //35;
作为一个良好的编程习惯,应该将变量和函数的名字以一种既简单又明确的方式区分开来。
因而可以在命名变量的时候,用下划线来分隔各个单词,在命名函数的时候,使用驼峰格式。
在定义一个函数的时候,一定要把它内部的变量全都明确地声明为局部变量。