javascript

javascript

HTML:定义网页的结构
CSS:美化网页
JavaScript:实现用户交互

一  JavaScript技术

1.1  JavaScript介绍

在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。

1.1.1  JavaScript与Java的区别

JS是Netscape公司的产品,Java是Sun公司的产品
JS是基于对象,Java是面向对象。
JS只需解释就可以执行,Java需要先编译成字节码文件,再执行。
JS是弱类型,Java是强类型。

1.1.2  JavaScript特点

安全性较高
跨平台,兼容性好

1.2  JavaScript的组成

JavaScript主要由三部分组成:ECMAScript、DOM、BOM。

ECMAScript:描述了JavaScript的基本语法(所有浏览器都支持);
DOM:文档对象模型。提供了处理网页内容的方法;
BOM:浏览器对象模型。提供了与浏览器进行交互的方法

 1.3  如何编写JavaScript代码

方式一:在HTML页面中编写JavaScript代码 

PS:里面可以加<h1>,三个位置都可以放

script标签可以放在head标签中,也可以放在body标签中。而且,在一个HTML页面中,可以存在多个script标签。

 方式二:引入外部的JS文件

注意事项:
1) 在js文件中编写js代码,不需要写<script>标签;
2) 开始的script标签和结束标签不能够写在一起;
3) 如果在HTML页面中引入了外部的js文件,那么该script标签就不能再编写js代码,而且应该在另外一个script标签中编写;

 方式三:在HTML元素中编写js代码

 

二  ECMAScript

2.1  注释

HTML: <!—注释 -->
CSS: /*注释*/
JavaScript://单行注释 或 /*多行注释*/

2.2  变量

javascript是一门弱类型的语言。所以,在javascript中声明变量不需要指定类型。

语法格式:
var 变量名 [= 初始值];

注意事项:

1) var关键字可以不写。变量的类型是根据它的值来确定的。
2) 变量名必须以字母或下划线开头;
3) js的变量是区分大小写的;
4) js变量必须要先声明后使用;
5) js变量的类型会随着它的值的改变而发生变化;

js的数据类型:

number:数值型,包含小数、整数、NaN(非数字)
string:字符串类型;
boolean:布尔类型,它的值可以是true或false;
object:对象类型;
undefined:该变量没有定义或初始化的时候,那么就是undefined

2.3  运算符

算术运算符:

注意:前++和前--是先对变量执行++或--操作,然后再对结果进行运算。
后++和后--是先对变量执行运算,运算后再对变量执行++或--操作。

补充:+除了可以作为算术运算符以外,还可以字符串连接符。

比较运算符:

比较运算符的结果要么是true,要么是false。如果成立为true,否则为false。

 

===:要求比较的两个变量,它们的值和类型必须要同时相同。

逻辑运算符:用来连接多个条件。

 

&&逻辑非:只有当多个条件同时成立才返回true,否则返回false;
||逻辑或:只有一个条件成立就返回true,否则返回false;
!逻辑非:如果条件为true,那么就返回false,否则返回true;

赋值运算符

 

三目运算符:

条件表达式 ? ‘内容1’ : ‘内容2’;

说明:如果条件成立,就返回内容1,否则返回内容2。

 

2.4  流程控制

 2.4.1 条件判断

语法格式:
if (条件表达式) {

} else if (条件表达式) {

} …
else {

}

 

2.4.2  条件选择

语法格式:
switch (变量) {
  case 值1:
    …
    break; //退出switch
  case 值2:
    …
    break;
  ..
  default: //如果上面case条件都不满足,就执行default后面的js代码。
  …
}

2.4.3 循环语句

while循环:先判断条件是否成立。如果条件成立就重复执行大括号中的js代码。直到条件不成立为止。
while (条件) {
  ….
}

 

do..while循环:先执行大括号中的js代码,然后再判断条件是否成立。如果条件成立就继续执行大括号中的js代码。直到条件不成立为止。
do {

} while (条件);

for循环:先执行初始化语句,再判断条件是否成立。如果条件成立,就执行大括号中的js代码。执行完js代码后,再执行循环后的语句。接着,再判断条件是否成立,如果成立就继续执行大括号中的js代码。直到条件表达式不成立为止。

for ([初始化语句]; [初始化语句]; [初始化语句]) {

}

注意:初始化语句只会执行一次。如果没有变量需要初始化,初始化语句可以没有。但是,初始化语句后面的分号一定要有。

案例:使用循环在页面上输出以下图形

功能分析:
第一行:1个星号,5个空格
第二行:3个星号,4个空格
第三行:5个星号,3个空格
第四行:7个星号,2个空格
第五行:9个星号,1个空格
第六行:11个星号,0个空格

星号的数量 = 行号 * 2 - 1
空格的数量 = 6 - 行号

实现思路:
1)循环输出每一行;
2)循环每一行的时候,输出空格和星号;

 

三  函数

作用:

实现js代码的重用;

创建对象;

方式一:使用function关键字定义函数

语法格式:
function 函数名(参数列表) {
  函数体…
}

注意事项:
1) 定义函数的时候不需要定义它的返回值类型。如果函数需要返回结果,那么可以使用return命令直接返回即可;
2) 函数的形参定义不需要使用var;
3) js函数是没有重载,后面定义的函数会覆盖前面定义的函数。所以,在一个js文件中,不要出现重复的函数定义。

方式二:定义函数变量
语法格式:
var 函数名 = function(参数列表) {

}

 (见上图)

 全局变量和局部变量

 

四  内置对象

额外:

自定义对象:

 创建对象(通过函数):

var 对象名 = new 函数名(参数列表);

使用Object创建对象:

var 变量名 = new object();

使用json语法创建对象:

语法格式:
var 变量名 = {
  键: 值,
  键: 值,
  …
};

4.1  String对象

创建字符串的方式:
方式一:var 变量名 = ‘内容’;
方式二:var 变量名 = new String(‘内容’);

 

方式一和方式二的区别:
1) 类型上的区别:方式一创建的字符串类型是String类,而方式二创建的字符串类型是Object类型;
2) 处理上的区别:方式一创建的字符串不能够添加额外的属性和方法,而方式创建的字符串可以添加额外的属性和方法;

 4.1.1  String对象的常用方法

字符串函数

功能

fontcolor(colorval)

构建一个指定颜色值的font标签,然后把字符串的内容包含起来

concat()

拼接字符串

charAt()

根据索引值获取单个字符

charCodeAt()

返回指定索引值字符的unicode编码

indexOf()

返回字符串中指定内容的开始位置

lastIndexOf()

返回字符串中指定内容最后出现的位置

substring(start, end)

返回字符串中指定开始和结束位置的内容,不包含end位置的字符

substr(start, length)

返回字符串中从指定位置开始的指定长度的内容

valueof()

Object对象中的一个方法。该方法可以根据不同的对象返回不同的内容

案例:定义一个函数,实现字符串的反转功能

4.2 Number对象

Number代表数值数据类型,以及提供数值常量的对象。

定义一个数值变量的方式:
var 变量名 = 数值;
var 变量名 = new Number(数值);

常用方法:
toString(n):可以把一个数值换成指定进制的字符串。

 parseFloat()   str->float


4.3 Math对象

Math对象是一个数学的工具类。它提供了一些用来操作数值的方法。例如:

abs()

求绝对值

ceil()

获取大于指定数值的最小整数

floor()

获取小于指定数值的最大整数

max()

求两个数的最大值

min()

求两个数的最小值

random()

获取0~1之间的随机数,但是不包括1

round()

对指定的值进行四舍五入运算

 

案例:在网页上生成一个四位数的验证码

4.4  Date对象

Date对象代表一个日期和时间。

创建Date对象:

 

常用方法:

getTime()

获取Date对象的毫秒数

getFullYear()

获取日期的年份

getMonth()

获取日期的月份(ps:从0开始)

getDate()

获取日期的日

getHours()

获取日期的小时

getMinutes()

获取日期的分钟

getSeconds()

获取日期的秒

 

4.5 Array对象

Array代表一个数组,数组就是一个用来存储数据的容器。

创建数组的方式:

 

常用方法:

concat()

把多个元素或数组拼接成一个新的数组

join()

使用指定符号把数组的元素拼接成一个字符串并返回该字符串

pop()

删除并返回数组的最后一个元素

push()

往数组中添加一个元素,并返回数组的长度

reverse()

反转数组元素

slice()

返回指定开始和结束位置元素所组成的新数组

splice()

从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素

sort()

对数组进行排序

 

 

原文地址:https://www.cnblogs.com/yijue-lu/p/10428076.html