1、JavaScript有两种方式使文档进行执行。
(1)将JavaScript代码放在HTML文档的<head>
标签的<script>
中
(2)更好的一种方法是新建一个扩展名为.js
的独立文件,放在一个<script>标签里
语法:<script src="file.js"></script>
建议将<script>标签放在HTML文档的最后,</body>标签之前。
2、语法
2、1语句
建议在每条语句的末尾加上一个分号。
2、2注释
//用两条斜线开头,则将这一行定义为注释。
对于javascript文件中"<!--"和"//"的处理是一样的
/*多行注释的格式*/
2、3变量
把值存入变量的操作称为赋值。
对变量声明的示例:
var mood;var age;
var mood="happy", age=33;```
在javascript中语法元素的名字都是区分字母大小写的。
不允许变量名中包含空格或标点符号。
允许包含字母、数字、美元符号$和下划线(但第一个字符不允许是数字)
使用驼峰格式,`var myMood="happy";`
*驼峰格式是函数名、方法名和对象属性名的首选格式*
######2、4数据类型
1)字符串
字符串由零个或多个字符构成。包括字母,数字,标点符号和空格。字符串必须在引号里
`var mood="happy";var mood='happy';`
在javascript中用反斜线对字符进行转义
`var mood='don\'t ask';var height="about 5'10\"tall";`
2)数值
有小数的数字为浮点数(floating-point number)
`var age =33.25;`
3)布尔值
布尔(boolean)类型
只有两个可选值:true或false
######2、5数组
数组是指用一个变量表示一个值的集合集合中的每个值都是这个数组的一个元素。
在JS中用关键字Array声明。
数组的下标是从0开始计数的。
```javascript
var beatles=Array("John","Paul","George","Ringo");
var beatles=["John","Paul"];```
可以用不着明确地表明我们在创建数组,只需要一对方括号把各个元素的初始值括起来。
存放数据的首选方法:将数据保存为对象。
######2、6对象
```javascript
var lennon=object();lennon.name="John";lennon.year=1940;lennon.living=false;```
更加简洁的写法
`var lennon={name:"John",year:1940,};`
####3、操作
>算数操作符
算数操作(arithmetic operation)
操作符(operator)
i=i+1 i++(表示加一)
i--累减
`var message="I am feel"+"happy";`
把多个字符串首尾相连在一起的操作叫做
拼接(concatenation)
如果把字符串和数值拼接在一起,其结果将是一个更长的**字符串**;但如果用同样的操作符来"拼接"两个数值,其结果将是两个数值的**算术和**
`alert("10"+20);alert(10+20);`
第一条语句返回字符串"1020"
第二条语句返回数值30
+=(加法和赋值操作)x+=y等价于x=x+y
####4、条件语句
if语句
if基本语法
`if(condition){
statements;
}`
条件必须放在if后面的圆括号中,条件的求值结果永远是一个布尔值,**(true或false)**
花括号中的语句,只有在给定条件的求值结果是true的情况下才会执行。
当花括号中的语法只有一句时,可以不使用花括号,而且这条if语句全部内容可以写在同一行上。
```javascript
if(1>2)alert("the world has gone mad!")```
if语句可以有一个else子句,包含在else子句中的语句会在给定条件为假时执行。
```javascriptif
(1>2){alert("the world has gone mad");}else{alert("All is well with the world");}```
######4、1比较操作符
>大于>
小于<
大于或等于>=
小于或等于<=
等于==
严格比较相等===
不等于!=
严格不等于!==
*严格比较相等不仅比较值,而且比较变量的类型*
######4、2逻辑操作符
>“逻辑与”操作符:&&
“逻辑或”操作符:||
“逻辑非”操作符:!
逻辑非操作符可以把整个条件语句的结果颠倒过来
```JavaScript
if(!(num>10||num<5)){
alert(“the number is in the right range.”);```
####5循环语句
循环语句可以让我们反复多次的执行同一段代码。
***
#####5、1 while循环
语法
```javascript
while (condition) {
statements;
}```
>while与if的区别是:只要给定条件的求值结果是true,包含在花括号里的代码将反复地执行下去。
**do ...while循环**
```javascript
do{
statements;
}while (condition);```
```javascript
var count=1;
do {
alert (count);
count++;
}while (count <1);```
>由于do循环的循环控制条件出现在花括号部分之后,所以包含在这个do循环内部的代码还是执行了一次。其结果是2
#####5.2 for循环
类似于while循环,与循环有关的所有内容都包含在for语句的圆括号部分
```javascript
for(var count=1;count<11;count++){
alert(count);
}```
>for循环的常见用途之一是对某个数组内的全体元素进行遍历处理。
####6、函数
如果需要多次使用同一代码,可以把它封装成一个函数。函数(function)就是一组允许在你的代码随时调用的语句。每个函数都是一个短小的脚本。
***
函数示例
```javascript
function shout(){
var beatles=Array("John","George","Ringo");
for (var count=0;count<beatles.length;count++){
alert(beatles[count]);
}
}```
这个函数循环语句将依次弹出对话框来显示Beatles乐队成员的名字。如果想在自己的脚本里随时执行这个动作,可以随时调用`shout();`这个函数。
我们把传递给函数的数据称为**参数**(argument)
在定义函数时,你可以为它声明任意多个参数,只要用逗号把他们分割开来就行,在函数内部你就可以像使用普通变量那样使用它的任何一个参数。
```javascript
function multiply(num1,num2) {
var total=num1*num2;
alert(total);
}```
在定义好的脚本里我们可以在任意位置去调用这个函数。
例如`multiply(10,2);`把数值10和2传递给multiply()函数。
***
如果上例的函数结果能够返回给调用这个函数的语句往往会更有用。
需要用到renturn语句
```javascript
function convertToCelsius(temp){
var result=-32;
result=result/1.8;
return total;
}
//函数只有一个参数(一个华氏温度值),它将返回一个数值(同一温度的摄氏温度值)```
我们可以把函数当做是一种数据类型来使用,可以把函数的调用结果赋给一个变量。
```javascript
var temp_fahrenheit=95;
avr temp_celsius+convertToCelsius(temp_fahrenheit);
alert(temp_celsius);
//变量temp_celsius的值将是35,这个值由converToCelsius函数返回```
- 在命名函数时,我们采用驼峰命名法。
- 在命名变量时,用下划线来分隔每个单词。
####变量的作用域
变量可以是全局的,也可以是局部的。
- 全局变量(global variable)
可以在脚本中的任何位置被引用。一旦你在某个脚本里声明了一个全局变量,就可以在这个脚本中的任何位置(包括函数内部)引用它。全局变量的作用域是整个脚本
- 局部变量
**只存在于声明它的那个函数的内部**该函数外部是无法引用它的,其作用域仅限于某个特定的函数。
可以用var关键字明确的设定作用域。
**在一个函数中**使用了`var`这个变量将被视为一个局部变量,只存在于该函数的上下文中;反之,如果没有使用`var`这个变量将被视为一个全局变量
我们来看下面的例子:
```javascript
function squre(num){
total=num*num;
return total;
}
var total=50;
var number=square(20);
alert(total);
//全局变量total变成了400,本意是让square()函数之把它计算出来的平方值返回给变量number,由于未把函数内部的total变量声明为局部变量这个函数把名字同样是total的那个全局变量的值也改变了。
- tips
在定义函数时,我们一定要把它内部的变量全都明确的声明为局部变量。建议在函数里使用var关键字来定义变量,养成良好的编程习惯
对象
对象(object)是自包含的数据集合,包含在对象里的数据可以通过两种形式访问——属性(property)和方法(method)
- 属性是隶属于某个特定对象的变量;
- 方法是只有某个特定对象才能调用的函数。
对象就是由一些属性和方法组合在一起而构成的一个数据实体。
在JavaScript中,属性和方法都使用“点”语法访问
object.property
object.method( )
实例(instance)
为给定对象创建一个新实例需要使用new
关键字。
var Jeremy= new person;
内建对象
可以直接拿来就用的对象称为内建对象(native object)
数组就是常见的一种内建对象,还有Math
对象和Date
对象。
var num = 7.561;
var num =Math.round(num);
alert(num);
Math对象的round方法可以把十进制数值舍入为一个与之最接近的整数
Date对象可以用来存储和检索与特定日期和时间有关的信息。
Date对象提供了getDay( )、getHours( )、getMonth( )等一系列方法,以供人们用来检索与特定日期有关的各种信息。
在编写JavaScript脚本时,内建对象可以帮助我们快速、简单地完成许多任务。
宿主对象
由浏览器提供的预定义对象被称为宿主对象(host object)
宿主对象包括Form、Image、Element等。我们可以通过这些对象获得关于网页上表单,图像和各种表单元素等信息。