JavaScript

简介

JavaScript是一门跨平台、面向对象的脚本语言,用于控制网页行为,它能使网页可交互

JavaScript 和 Java是完全不同的语言,不论是概念还是设计。但基础语法类似

JavaScript(简称:JS)是1995年由Brendan Eich 发明,并于1997 年成为一部ECMA标准

ECMAScript 6(ES6)是最新的JavaScript版本(发布于2015年)

引入方式

内部脚本

内部脚本:将JS代码定义在HTML页面中

在HTML中,JavaScript 必须位于<script> 与</script>标签之间

注:在HTLM文档中可以在任意地方放置任意数量的<script>,但一般把脚本置于<body>标签的底部,可改善显示速度,因为脚本执行会拖慢显示

外部脚本

外部脚本:将JS代码定义在外部JS文件中,然后引入到HTML页面中

使用script标签的src属性引入文件

注:

1.外部脚本中不能包含<script>标签

2.<script>标签不能自闭合,如下

这样则无法生效

基础语法

书写语法

1.区分大小写:和Java一样,变量名、函数名以及其他一切东西都是区分大小写的

2.每行结尾的分号可有可无(与Java不同)

3.注释:

单行注释://注释内容

多行注释:/* 注释内容 /*

4.大括号表示代码块

输出语句

1.使用window.alet()写入警告框(window.可以省略)

2.使用document.write()写入HTML输出

3.使用console.log()写入浏览器控制台

变量

var

JavaScript 中用var关键字(variable的缩写)来声明变量

var声明的变量的作用域为全局,且可以重复定义,如下

let

ECMAJavaScript 6 新增了let关键字来定义变量。他的用法类似于var,但是声明的变量,只能在let关键字所在的代码块内有效,且不允许重复声明

const

ECMAJavaScript 6 新增了const关键字,用来声明一个只读的常量。一旦声明,常量的值就不能改变

注意事项

1.JavaScript 是一门弱类型语言,变量可以存放不同类型的值

2.变量名需要遵循如下规则:

组成字符可以是任何字母、数字、下划线或美元符号

数字不能开头

建议使用驼峰命名

3.在定义变量时不需要指定数据类型

数据类型

JavaScript 中分为原始类型 和 引用类型

原始类型

number:数字(整数、小数、NaN(Not a Number))

string:字符、字符串、单双引皆可

boolean:布尔。true、false

null:对象为空

undefined:当声明的变量未初始化时,该变量默认值是undefined

使用 typeof 运算符可以获取数据类型,如

注意事项:若一个变量的值为null,那么改变量使用typeof得到的数据类型是object,而不是null

引用类型

引用类型即为对象,同Java

运算符

一元运算符:++、--

算数运算符:+,-,*,/,%

赋值运算符:=,+=,-=

关系运算符:>,<,>=,<=,!=,==,===

逻辑运算符:&&,||,!

三元运算符: 条件表达式 ? true_value : false_value

注:关系运算符中除===外的运算符在使用时会自动进行类型转换,在进行比较

而===在判断出前后值类型不同时就会直接返回false

类型转换

其他类型转为数字

1.string:将字符串字面值转为数字,若字面值不是数字,则转为NaN。一般使用parseInt方法进行转换

2.boolean:true转为1,false转为0

其他类型转为boolean

1.number:0和NaN转为false,其他数字转为true

2.string:空字符串转为false,其他字符串转为true

3.null:转为false

4.undefined:转为false

注意事项

在Java中使用传输的变量时需要进行健壮性判断,但在JavaScript中一般不用

如图,可以直接将变量作为条件表达式使用,会自动进行转换

流程控制语句

if,switch,for,while,do...while

同Java相同

注:在使用for循环等控制语句时,i变量一般使用let变量

函数

函数,作用即Java中的方法,但定义方式略有不同

定义

使用function关键字进行定义

方式一

function 函数名(参数1,参数2...){

要执行的代码

}

注:

1.形式参数不需要类型

2.返回值不需要定义类型,可以直接在函数内部使用return返回

例:

方式二

var 函数名 = function(参数列表){

要执行的代码

}

例:

调用

调用:函数名(实际的参数列表)

例:

注:JS中,函数调用可以传递任意个数参数

若传递的参数超出形参个数,则只接受等同于形参个数的参数,多余的略过

若传递的参数少于形参个数,则无参数的形参的值为undefined

例:

对象

Array

JavaScript Array对象用于定义数组

定义

var 变量名 = new Array(元素列表);//方式一

var 变量名 = [元素列表];//方式二

访问

arr[索引] = 值;

arr[0] = 1;

特点

JS数组的长度和类型都可变,且数组的索引从0开始

1.长度

对于长度,若定义对象时只添加了三个元素,然后直接给第10个元素赋值,仍可赋值

此时访问该数组时,若直接访问整个数组,则中间未赋值的内容为空字符串

若访问中间的某个未赋值的内容,则为unidentified

2.类型

JS数组中类型并不固定,一个数组中可以同时存在多个类型的数据

属性

属性

描述

length

数组中元素的数目

方法

方法

描述

push

添加元素

splice

删除元素

String

定义

var 变量名 = new String(内容);//方式一

var 变量名 = 内容;//方式二

注:内容使用单引号或双引号皆可

属性

属性

描述

length

字符串的长度

方法

JS中String的方法和Java中String的方法基本相同

方法

描述

charAt()

返回在指定位置的字符

indexOf()

检索字符串在整个字符串中的位置

trim()

去除字符串前后的空格

自定义对象

格式:

var 对象名 = {

属性名称1:属性值1,

属性名称2:属性值2,

...

函数名称:function(形参列表){}

...

};

BOM

Browser Object Model 浏览器对象模型

Javascript 将浏览器的各个组成部分封装为对象

组成:

Window:浏览器窗口对象

Navigator:浏览器对象(开发时使用较少)

Screen:屏幕对象(开发时使用较少)

History:历史记录对象

Location:地址栏对象

Window

Window:浏览器窗口对象

获取

直接使用window即可

如使用方法alter,直接window.alter(...)即可,但是window可以省略

属性

获取其他BOM对象

方法

方法

描述

alter(一段消息)

显示带有一段信息和一个确认按钮的警告框

confirm(一段消息)

显示带有一段信息以及确认按钮和取消按钮的对话框,并且会根据用户的选择返回true或boolean

setTimeout(function,毫秒值)

在一定的时间间隔后执行一段function,只执行一次

setInterval(function,毫秒值)

在一定的时间间隔后执行一段function,循环执行

function:定义函数(方法)的关键字,即上述的两个方法需要添加一个函数,用于执行

该函数可以使用类似于匿名内部类的方式指定,如

History

History:历史记录对象

获取

使用window.history获取,其中window.可省略

方法

方法

描述

back()

加载history 列表中的前一个URL

forward()

加载history 列表中的下一个URL

Location

Location:地址栏对象

获取

使用window.location获取,其中window.可省略

属性

href

设置或返回完整的URL

如图,该行代码执行时会自动跳转到所写地址的网页

DOM

Document Objet Model : 文档对象模型

将标记语言的各个组成部分封装为对象

DOM 是 W3C(万维网联盟)的标准

W3C DOM 标准被分为3个不同的部分

1.核心DOM:针对任何结构化(标准语言)文档的标准模型

Document:整个文档对象

Element:元素(标签)对象

Attribute:属性对象

Text:文本对象

Comment:注释对象

2.XML DOM:针对HTML 文档的标准模型

3.HTML DOM:针对HTML 文档的标准模型

HTML DOM除包含核心DOM部分外,还将HTML 的标签都封装成了对象

JavaScript通过DOM,可以对HTML进行操作

改变HTML元素的内容

改变GTML元素的样式(CSS)

对HTML DOM事件作出反应

添加和删除HTML元素

获取Element对象

Element:元素(标签)对象

获取:使用Document对象的方法来获取

Document(文档对象):可以直接在JavaScript中使用,其获取Element对象的方法:

1.getElementById:根据id属性值获取,返回一个Element对象

2.getElementByTagName:根据标签名称获取,返回Element对象数组

3.getElementByName:根据name属性值获取,返回Element对象数组

4.getElementByClassName:根据class属性值获取,返回Element对象数组

注:在JavaScrpt中,数组也是用 var 关键字声明

Element对象的使用

Element对象一般配合 JavaScript 参考手册 文档使用,内有相关对象的属性和方法

JavaScript 和 HTML DOM 参考手册

事件监听

简介

事件:HTML事件是指发生在HTML元素上的“事情”。如:

按钮被点击

鼠标移动到元素上

按下键盘按键

事件监听:JavaScript可以在事件被侦测到时执行代码

事件绑定

方式一:通过HTML标签中的事件属性进行绑定

该方式中JavaScript 和 HTML 耦合在了一起,一般不使用

方式二:通过DOM元素属性绑定

一般使用该方法

常见事件

JavaScript 事件

HTML DOM 事件

Event代表事件对象

正则表达式

正则表达式定义了字符串组成的规则

定义

一:直接量:注意不要加引号

要用两个/包裹规则,并以^开头,$结尾

二:创建RegExp对象

方法

test(string):判断指定字符串是否符合规则,返回 true 或 false

语法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值