JavaScript(静态网页资源三大件3)

本文详细介绍了JavaScript,从它的起源、功能,到ECMAScript语法、对象、DOM和BOM的使用,以及事件监听机制。JavaScript是一门客户端脚本语言,用于增强用户与HTML页面的交互,提供动态效果。内容涵盖了变量、数据类型、运算符、流程控制语句等基础知识,以及DOM和BOM的操作,包括Window对象、Location对象和History对象。此外,还介绍了事件处理,如点击事件、焦点事件和键盘事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript

01简介

1.概念:一门客户端脚本语言

【1】运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎
【2】脚本语言:不需要编译,直接就可以被浏览器解析执行了

2.功能

可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验

3.JavaScript发展史

【1】1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为 : C-- ,后来(1996)更名为:ScriptEase
【2】1995年,Netscape(网景)公司,开发了一门客户端脚本语言:LiveScript。后来,请来SUN公司的专家,修改LiveScript,命名为JavaScript
【3】1996年,微软抄袭JavaScript开发出JScript语言
【4】1997年,ECMA(欧洲计算机制造商协会),制定出客户端脚本语言的标准:ECMAScript,就是统一了所有客户端脚本语言的编码方式。

JavaScript = ECMAScript + JavaScript自己特有的东西(BOM+DOM)

ECMAScript:客户端脚本语言的标准

02ECMAScript语法

1.与html结合方式

【1】内部JS:
定义< script >,标签体内容就是js代码
【2】外部JS:
定义< script >,通过src属性引入外部的js文件

Tips:
【1】< script >可以定义在html页面的任何地方。但是定义的位置会影响执行顺序。
【2】< script >可以定义多个。

2.注释

【1】单行注释://注释内容
【2】多行注释:/注释内容/

3.数据类型

【1】原始数据类型(基本数据类型):
(1)number:数字。 整数/小数/NaN(not a number 一个不是数字的数字类型)
(2)string:字符串。 字符串 “abc” “a” ‘abc’
(3)boolean: true和false
(4)null:一个对象为空的占位符
(5)undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined
【2】引用数据类型:对象

4.变量

【1】变量:一小块存储数据的内存空间
在这里插入图片描述
【2】Java语言是强类型语言,而JavaScript是弱类型语言。
(1)强类型:在开辟变量存储空间时,定义了空间将来存储的数据的数据类型。只能存储固定类型的数据
(2)弱类型:在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据。

var 变量名 = 初始化值;

【3】typeof运算符:获取变量的类型。
Tips:
null运算后得到的是object

5.运算符

【1】一元运算符:只有一个运算数的运算符:++,-- , +(正号)
(1)++ --: 自增(自减)
++(–) 在前,先自增(自减),再运算
++(–) 在后,先运算,再自增(自减)
(2)+(-):正负号
Tips:
【1】在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换
【2】其他类型转number:
(1)string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)
(2)boolean转number:true转为1,false转为0

【2】算数运算符:+ - * / % …
【3】赋值运算符:= += - +…
【4】比较运算符:> < >= <= == ===(全等于)
(1)比较方式:
1. 类型相同:直接比较
字符串:按照字典顺序比较。按位逐一比较,直到得出大小为止(a<b)
2. 类型不同:先进行类型转换,再比较

(2)===:全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false
【5】 逻辑运算符:&&(短路) ||(短路) !
其他类型转boolean:
(1)number:0或NaN为假,其他为真
(2)string:除了空字符串(""),其他都是true
(3)null&undefined:都是false
(4)对象:所有对象都为true

//应用 判断是否为空
if (obj) {
   }

【6】 三元运算符:? : 表达式

var a = 3;
var b = 4;

var c = a > b ? 1:0;

(1)语法:

表达式?1:2;

判断表达式的值,如果是true则取值1,如果是false则取值2;

6.流程控制语句

【1】if…else…
【2】switch:
(1)在java中,switch语句可以接受的数据类型: byte int shor char,枚举(1.5) ,String(1.7)

switch(变量):
case:

(2)在JS中,switch语句可以接受任意的原始数据类型
【3】while
【4】 do…while
【5】for

7.JS特殊语法

【1】语句以;结尾,如果一行只有一条语句则 ;可以省略 (不建议)
【2】 变量的定义使用var关键字,也可以不使用
(1)用: 定义的变量是局部变量
(2)不用:定义的变量是全局变量(不建议)

03ECMAScript对象

1.Function对象

【1】创建:

//忘掉吧
var fun = new Function(形式参数列表,方法体); 
function 方法名称(形式参数列表){
   
  方法体
} 
var 方法名 = function
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值