JavaScript

概述:

LiveScript,最初由网景公司开发,后来这家公司被美国在线收购。
JavaScript运行在浏览器端,而Java运行服务器端
是一种直译式的脚本语言(是一种轻量级的编程语言)

脚本语言:

java源代码–> 编译.class文件 –> java虚拟机执行
脚本语言: 源码 –> 解释执行
js由浏览器解释执行

html –> 决定页面框架
css –> 美化界面
js –> 提供用户的交互

js语法组成

ECMAScript: 核心部分,定义js语法规范
DOM: doucument Object model 文档对象模型,主要用来管理页面的
BOM: browser object model 浏览器对象模型,前进,后退,页面刷新,地址栏,历史记录,屏幕宽高

js特点

变量定义的特点

1) var关键字不是必须的,可以省略,但不建议省略–>在声明时决定类型
2) 变量名可以重复定义
3) 大括号不会影响到变量的使用范围
变量弱类型:
区分大小写:
语句结束后的分号,可选:
写在script标签中:

js数据类型

基本类型 –> string number boolean undefine null
JS中只有字符串类型,没有字符类型,字符串既可以使用双引号,也可以使用单引号。

typeof操作符

  1. 作用:判断指定的变量数据类型
  2. 写法:typeof(变量名) 或 typeof 变量名
  3. null与undefined的区别:
    null: 是一个object类型,但没有值
    undefined :未初始化的类型,不知道是什么类型

引用类型

–> 对象 array boolean date math number string regexp function events/内置对象

类型转换

        --> 有相应的方法

js的运算符和语句:

算术运算符
–>若不是+法,先将字符串转成数字后再计算

赋值运算符

比较运算符
== –> 只比较数值,不比较类型
=== –> 数值与类型均比较

逻辑运算符

boolean类型的运算效果
–> 对于数字,0为false 非0为true
–> 对于字符串,长度为0/null –>false,长度非0即true
–> 任何引用类型,都是true

流程控制语句

if 语句:
在一个指定的条件成立时执行代码。
if(条件表达式) {
//代码块;
}
if…else 语句
在指定的条件成立时执行代码,当条件不成立时执行另外的代码。
if(条件表达式) {
//代码块;
}
else {
//代码块;
}
if…else if….else 语句
使用这个语句可以选择执行若干块代码中的一个。
if (条件表达式) {
//代码块;
}
else if(条件表达式) {
//代码块;
}
else {
//代码块;
}
条件判断可以使用非逻辑运算符

swtich多分支
语法一:case后使用变量,与Java相同
switch(变量名) {
case 常量值:
break;
case 常量值:
break;
default:
break;
}
语法二:case后使用表达式
switch(true) { //这里的变量名写成true
case 表达式: //如:n > 5
break;
case 表达式:
break;
default:
break;
}

循环
当指定的条件为 true 时循环执行代码
while (条件表达式) {
需要执行的代码;
}

do-while语句:
最少执行1次循环
do {
需要执行的代码;
}
while (条件表达式)

for 语句
循环指定次数
for (var i=0; i<10; i++) {
需要执行的代码;
}

break和continue
break: 跳出整个循环
continue :跳出本次循环

js的输出
alert() –> 直接弹框
document.write() –> 向页面输出
console.log() –> 向控制台输出
innerHTML –> 向页面输出
获取页面元素: document getElementById(“d的名称”);

函数的使用

函数的概述

函数 –> 当其被调用时可重复的代码块
两种定义方式: 命名函数 + 匿名函数

函数的基本使用

格式
function 函数名(参数列表){
函数体;
[return 返回值]
}

注意的事项

  1. 形参的类型:在函数定义的时候不用指定类型,因为是可变类型
  2. 函数的返回值:如果一个函数中需要返回值,直接使用return返回,如果没有返回值,不写return。
  3. 关于函数的重载:在JS中没有函数的重载,同名的函数会覆盖原来的函数,调用的时候,只会调用最后函数,而且实参的个数与形参数的个数没有关系。
  4. 所有函数的内部都有一个隐藏数组,名字叫:arguments,用来接收调用时提交的所有的参数。

匿名函数

语法:
var 变量名 = function(参数列表) {
函数体;
}

函数调用:
//匿名函数
var sayHi = function(name) {
window.alert(“Hello, ” + name);
};
//调用
sayHi(“NewBoy”);

变量的作用域

局部 JavaScript 变量
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。只要函数运行完毕,本地变量就会被删除。

全局 JavaScript 变量
不是声明在函数体内部的变量,网页上的所有脚本和函数都能访问它。
向未声明的 JavaScript 变量来分配值
如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。 如:将声明一个全局变量,哪怕这个变量是声明在函数内部它也是一个全局变量。

事件

事件是可以被 JavaScript 侦测到的行为。网页中的每个元素都可以产生某些可以触发 JavaScript 函数的事件
组成:

事件源: 页面中,用户可以操作的内容 如:按钮,文本输入框,浏览器
事件: 用户如何操作 点击,双击,键盘
监听器: 必须和事件源绑定在一起,监听用户对事件源的操作
处理方式: 一旦事件发生,监听自动调用函数

事件的注册方式

使用命名函数

这种方式事件的注册写在标签体内

使用匿名函数

//匿名函数的写法 document.getElementById("b1").onclick = function () { alert("我是按钮,被点击了"); }

常见的事件

JavaScript的内置对象
数组对象
–> 数组在JS中是一个类,通过构造方法创建对象。
数组的四种方式

数组的特点
1) 数组中的每个元素的类型是可以不同的。
2) 数组的长度可以动态变化
3) 数组中包含大量的方法,类似于Java中的集合,而Java中的数组没有方法。

常用方法

日期对象

日期对象的创建

语法
    --> var myDate = new Date();
Date 对象会自动把当前日期和时间保存为其初始值

日期对象的方法

正则对象

方式1:

正则表达式是JS中是一个类:RegExp = Regular Expression 正则表达式

var reg = new RegExp("正则表达式");

方式2:

以/开头,以/结尾,中间的部分就是正则表达式

var reg = /正则表达式/;

两种方式的区别:

  1. 在js中,正则表达式的两种声明方式对于“\d、\D”之类的匹配模式中,前者需要转义,而后者无需转义
  2. 前者支持字符串拼接,支持变量,更加灵活;后者对于固定的表达式,书写起来方便快捷、更加直观。

匹配模式:

忽略大小写进行比较,两种写法:

var reg = new RegExp(“正则表达式”, “匹配模式”);

var reg = /正则表达式/匹配模式;

常用的方法

JS匹配与java不同

Java默认情况下必须要精确匹配,而在JS中默认是模糊匹配,只要字符串包含了正则表达式的内容就返回true

BOM编程

编程概述

概念
BOM:Browser Object Model 浏览器对象模型
–> 任何对象,不需创建,之间使用即可

常用对象

window 对象
BOM的核心对象是window,它表示浏览器的一个实例。
注:只要是window的方法和属性,window对象名都可以省略

与计时有关的方法
–>定时器均具有返回值,是个整数,在页面中具有唯一性

location 对象
–> 代表浏览器的地址栏对象

history 对象
–>访问浏览器之前已经访问过的页面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值