
目录
第一种
第二种
单行注释
多行注释
prompt(),范例
prompt("请输入:");
//该语句在页面弹出一个输入框,并且带有提示 alert(),范例
alert("提示"); console.log(),范例
console.log("控制台输出的内容"); document.write(),范例
document.write("向页面输出内容"); JavaScript是弱类型语言,定义变量时不用区分具体数据类型
定义局部变量
语法:let 变量名 = 值;
范例:
let name = "张三"; let age = 23;
语法:变量名 = 值;
范例:
school = "清华大学";
定义常量
语法:const 常量名 = 值;
范例:
const PI = 3.1415926;
| 类型 | 说明 |
|---|---|
| boolean | 布尔类型,true或false |
| undefined | 未定义,即定义变量时没有赋值 |
| null | 声明null为变量值 |
| number | 整数或浮点数 |
| string | 字符串 |
| bigint | 大整数,例如bigint num = 10n;需要在数字后加上n |
判断原始数据类型的方法:
使用typeof()函数
范例:
let l1 = true; document.write(typeof(l1)+"
"); //输出boolean let l2; document.write(typeof(l2)+"
"); //输出undefined let l3 = null; document.write(typeof(l3)+"
"); //输出Object,null被认为是对象占位符 let l4 = 123; document.write(typeof(l4)+"
"); //输出number let l5 = "abc"; document.write(typeof(l5)+"
"); //输出string let l6 = 10n; document.write(typeof(l6)+"
"); //输出bigint
JavaScript中运算符和Java的大致相同
不同点:
==号比较的是变量的值是否相同,如字符串的"10"跟数字的10比较返回true
=== 号比较类型和值,则字符串的"10"跟数字的10比较返回false
字符串类型的数字计算时会发生类型转换
与Java的相同,但是注意在流程控制语句中的变量定义语法不同
JavaScript数组长度和类型没有限制
定义一个数组的语法是:let 数组名 = [元素];
范例:
let arr = [1,2,3];
获取数组长度
使用函数:数组名.length
范例:
arr.length;
数组复制
语法:数组1 = [...数组2];
范例:
let a = [1,2,3]; let b = [...a];//数组b内容也是1,2,3
数组合并
语法:数组1 = [...数组2,数组3];将数组2和3合并到1
范例:
let a = [1,2,3]; let b = [4,5,6]; let c = [...a,...b];//数组c内容是1,2,3,4,5,6
字符串转数组
语法:数组 = [...字符串];
范例:
let s = "lxq"; let a = [...s];a数组内容是l,x,q
JavaScript中的函数类似于Java中的方法
普通函数
语法:
function 方法名(参数){
方法体;
return 返回值;
} 注意:如果不需要返回值则不用写return语句,参数不用写类型
可变参数
语法:
function 方法名(...参数){
方法体;
return 返回值;
} 匿名函数
语法:
function(参数){
方法体;
return 返回值;
} DOM指document object model,即文档对象模型
将HTML文档各个组成部分封装为对象,借助这些对象可以对HTML文档进行增删改查的动态操作
相关对象:
Document,表示文档对象
Element,元素对象
Attribute,属性对象
Text,文本对象
根据document文档对象来获取元素对象
| 方法 | 说明 |
|---|---|
| getElementById(id属性值) | 根据id属性获取元素对象 |
| getElementsByTagName(标签名) | 根据标签名获取元素对象 |
| getElementsByName(name属性值) | 根据name属性获取元素对象 |
| getElementsByClassName(class属性值) | 根据class属性获取元素对象 |
根据当前元素对象获取父元素对象
子元素对象.parentElement
通过文档对象创建新元素对象
document.createElement(标签名);
将指定子元素对象添加到父元素中
父元素对象.appendChild(子元素对象);
父元素删除指定的子元素
父元素对象.removeChild(子元素对象);
父元素用新子元素替换旧子元素
父元素对象.replace(新元素,旧元素);
给元素设置属性
setAttribute(属性名,属性值);
根据属性名获取属性值
getAttribute(属性名);
根据属性名移除属性
removeAttribute(属性名);
为元素添加样式
方式一:
元素对象.style.样式=值;
如:
let ele = document.getElementById("a");
ele.style.color = "red"; 方式二:
元素对象.className = "类选择器名";
设置文本内容,不解析标签
元素对象.innerText="文本内容";
注意:不解析标签是指文本内容如果有HTML标签也不会解析,只会当成文本
设置文本内容,解析标签
元素对象.innerHTML="文本内容";
注意:这里的文本内容会被解析标签
事件是某些组件完成某些操作时会触发的代码
常用事件
| 事件 | 说明 |
|---|---|
| onload | 某个页面或图像被加载完成 |
| onsubmit | 表单提交时 |
| onclick | 鼠标点击事件 |
| ondblclick | 鼠标双击 |
| onblur | 元素失去焦点 |
| onfocus | 元素获得焦点 |
| onchange | 用于改变域的内容 |
绑定事件的方式
通过标签中事件属性进行绑定
范例:
通过DOM元素进行绑定
let b = document.getElementById("btn");
b.οnclick=function(){//使用匿名方法
触发的操作;
} 方式1
语法:
class 类名{
//构造方法
constructor(变量列表){
变量赋值;
}
//普通方法
方法名(参数列表){
方法体;
return 返回值;
}
} 用法:
let 对象名 = new 类名(实际变量值); 对象名.变量名; 对象名.方法名();
方式2
语法:
//在定义类的时候已经创建了对象
let 对象名 = {
变量名 : 变量值,
变量名 : 变量值,
方法名 : function(参数列表){
方法体;
return 返回值;
},
方法名 : function(参数列表){
方法体;
return 返回值;
}
}; 用法:
对象名.变量名; 对象名.方法名();
JS中顶级父类是Object
继承需要使用extends关键字
语法:
class 子类 extend 父类{} 继承范例
class Person{
constructor(name,age){
this.name = name;
this.age = age;
}
show(){
document.write(this.name+","+this.age+"
");
}
}
class Worker extends Person{
constructor(name,age,salary){
//使用super()调用父类构造方法
super(name,age);
this.salary = salary;
}
show(){
document.write(this.name+","+this.age+","+this.salary);
}
}
let worker = new Worker("张三",23,15000);
worker.show(); parseFloat(s)方法,将字符串浮点数转为浮点数
parseInt(s)方法,将字符串整数转为整数
ceil(x)方法,向上取整
floor(x)方法,向下取整
round(x)方法,四舍五入
random()方法,返回0到1之间的随机数,不含1
pow(x,y)方法,x的y次方
构造方法
| 方法 | 说明 |
|---|---|
| Date() | 根据当前事件创建对象 |
| Date(value) | 指定毫秒值创建对象 |
| Date(year,month[,day,hour,min,sec,mill]) | 指定字段创建对象,月份是0到11 |
常用方法
| 方法 | 说明 |
|---|---|
| getFullYear() | 获取年份 |
| getMonth() | 获取月份 |
| getDate() | 获取天数 |
| getHours() | 获取小时 |
| getMinutes() | 获取分钟 |
| getSeconds() | 获取秒 |
| getTime() | 返回时间原点至今毫秒数 |
| toLocalString() | 返回本地日期格式的字符串 |
构造方法
| 方法 | 说明 |
|---|---|
| String(value) | 根据指定字符串创建对象 |
| let s = "字符串" | 直接赋值 |
常用方法
| 方法 | 说明 |
|---|---|
| length属性 | 获取字符串长度 |
| charAt(index) | 获取指定索引处字符 |
| indexOf(value) | 获取指定字符串出现的索引位置,不存在返回-1 |
| substring(start,end) | 根据给出范围截取字符串,含头不含尾 |
| split(value) | 根据指定规则切割字符串,返回数组 |
| replace(old,new) | 使用新字符替换旧字符 |
构造方法
| 方法 | 说明 |
|---|---|
| RegExp(规则) | 根据制定规则创建对象 |
| let reg = /^规则$/ | 直接赋值 |
匹配方法:test(字符串)方法,用于查看字符串是否符合匹配规则
常用方法
| 方法 | 说明 |
|---|---|
| push(元素) | 添加元素到数组末尾 |
| pop() | 删除数组末尾元素 |
| shift() | 删除数组最前面元素 |
| includes(元素) | 判断数组是否包含指定的元素 |
| reverse() | 反转数组中的元素 |
| sort() | 对数组元素排序 |
元素唯一,存取顺序一致
构造方法:Set()
常用方法
| 方法 | 说明 |
|---|---|
| add(元素) | 添加元素 |
| size属性 | 获取集合长度 |
| keys() | 获取迭代器对象 |
| delete(元素) | 删除指定元素 |
Set集合遍历范例
let set = new Set();
set.add("a");
set.add("b");
let st = set.keys();
for(let i = 0;i < set.size;i++){
document.write(st.next().value);
} key唯一,存取顺序一致
构造方法:Map()
常用方法
| 方法 | 说明 |
|---|---|
| set(key,value) | 向集合添加元素 |
| size属性 | 获取集合长度 |
| get(key) | 根据key获取value |
| entries() | 获取迭代器对象 |
| delete(key) | 根据key删除键值对 |
Map集合遍历范例
let map = new Map();
map.set(1,"a");
map.set(2,"b");
let et = map.entries();
for(let i = 0;i < map.size;i++){
document.write(et.next().value);
} JSON(JavaScript Object Notation)是一种轻量级的数据交换格式
它是基于ECMAScript规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据
简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于计算机解析和生成,并有效提升网络传输效率
常用方法
| 方法 | 说明 |
|---|---|
| stringfy(对象) | 将指定对象转换为json格式字符串 |
| parse(字符串) | 将指定json格式字符串解析成对象 |
范例
let weather = {
city : "北京";
date : "2022-08-08";
temperature : "10~20";
};
let str = JSON.stringfy(weather);
let weather2 = JSON.parse(str); BOM(Browser Object Model),是指浏览器对象模型
将浏览器各个组成部分封装成不同的对象,方便进行操作
具体有如下的对象
Navigator,表示浏览器对象
Window,窗口对象
Location,地址栏对象
History,窗口历史对象
Screen,显示屏幕对象
Window窗口对象常用功能
定时器
唯一标识 setTimeout(功能,毫秒值);方法,用于设置一次性定时器,返回一个唯一标识
clearTimeout(标识);方法,根据标识取消一次性定时器
唯一标识 setInterval(功能,毫秒值);方法,设置循环定时器,返回一个唯一标识
clearInterval(标识);方法,根据标识取消循环定时器
加载事件:window.onload=触发的事件,用于页面加载完毕时触发的事件
Location地址栏对象常用功能
设置href属性,通过设置这个属性实现浏览器读取并显示新的URL的内容