数据类型转换

函数 描述
Number() 将变量转换为数字类型
String() 将变量转换为字符串类型
Boolean() 将变量转换为布尔类型
parseFloat() 将变量转换为浮点型
parseInt() 将变量转换为整数类型

时间函数

函数 描述
getFullYear() 获取完整的年份
getMonth() 获取当前月份
getDate() 获取当前日
getDay() 获取当前星期X
getTime() 获取当前时间(从1970.1.1开始的毫秒)
getHours() 获取当前小时
getMinutes() 获取当前分钟
getSeconds() 获取当前秒数
toLocaleDateString() 获取当前日期
toLocaleTimeString() 获取当前时间
toLocaleString() 获取日期与时间

数学函数

函数 描述
ceil(数值) 大于或等于该数的最小整数
floor(数值) 小于或等于该数的最大整数
min(数值1,数值2) 返回最小数
max(数值1,数值2) 返回最大数
pow(数值1,数值2) 返回数值1的数值2次方
random() 返回随机数
round(数值) 四舍五入
sqrt(数值) 开平方根

数组方法

length — 返回数组的长度

1
2
3
var s1 = ["a","b"]
console.log(s1.length);
//结果:2

valueOf() — 返回数组的原始值

1
2
3
var s1 = ["a","b"]
console.log(s1.valueOf());
//结果:["a", "b"]

concat() — 连接两个或多个数组并返回结果

1
2
3
4
5
6
var s1 = ["111","a"]
var s2 = ["222","b"]
var s3 = ["333","c"];
var s4 = new Array("s4");
console.log(s4.concat(s1,s2,s3));
//结果为:["s4", "111", "a", "222", "b", "333", "c"]

join() — 将数组全部元素放进一个字符串,并用逗号隔开

1
2
3
var s4 = new Array("111","222");
console.log(s4.join());
//结果为:111,222

pop() — 删除并返回数组最后一个元素

1
2
3
var s4 = new Array("111","222");
console.log(s4.pop());
//结果:222

push() — 向数组尾末添加元素,并返回新的长度

1
2
3
4
5
var s4 = new Array("111","222");
console.log("s4 的长度:"+s4.push("333"));
console.log(s4)
//结果:s4 的长度:3
//["111", "222", "333"]

unshift() — 向数组开头位置添加元素,并返回新的长度

1
2
3
4
var s4 = new Array("111","222","333","444");
s4.unshift("000");
console.log(s4);
//结果:["000", "111", "222", "333", "444"]

reverse() — 颠倒数组中元素的顺序

1
2
3
var s4 = new Array("111","222");
console.log(s4.reverse())
//结果:["222", "111"]

shift() — 删除并返回数组第一个元素

1
2
3
var s4 = new Array("111","222");
console.log(s4.shift())
//结果: 111

slice() — 从数组返回指定下标的元素

1
2
3
var s4 = new Array("111","222");
console.log(s4.slice(1))
//结果:["222"]

sort() — 将数组元素进行排序

1
2
3
var s4 = new Array("222","111","333");
console.log(s4.sort())
//结果:["111", "222", "333"]

splice() — 保留指定下标元素,删除其它元素,并返回删除的元素

1
2
3
4
5
6
var s4 = new Array("111","222","333","444","555","666");
var s5 = s4.splice(0,5);
console.log(s5);
console.log("删除的元素:"+s4.splice(0,5))
//结果:["111", "222", "333", "444", "555"]
//删除的元素:666

toString() — 将数组元素以字符串的形式返回

1
2
3
var s4 = new Array("111","222","333","444","555","666");
console.log(s4.toString());
//结果:111,222,333,444,555,666

toLocaleString() — 将数组元素以字符串的形式返回(当数字超过4位时用逗号隔开)

1
2
3
var s4 = [12345]
console.log(s4.toLocaleString());
//结果:12,345

正则表达式

match() — 索引一个或多个正则匹配

1
2
3
4
5
var str = "16+5=21";
var reg = /[0-9]+/g;
console.log(str.match(reg));
//结果:["16", "5", "21"]
//其中 g 为模式,表示全局(Global)

replace() — 替换与正则匹配的子串

1
2
3
var str = 'my name is x';
console.log(str.replace(/[x]/,'chen'));
//结果:my name is chen

test() — 匹配正则,并返回布尔值(true 和 false)

1
2
3
4
var time = "2019-2-12";
var reg = /^[\d]{4}-[\d]{1,2}-[\d]{1,2}$/
console.log(reg.test(time));
//结果:true

search() — 索引正则匹配的值,返回该值的下标位置

1
2
3
var name = "陈陈菌在写笔记";
console.log(name.search("记"));
//结果:6

匹配符
/a-z/ — 匹配小写字母 a~z 的任意一个字符并返回下标位置

1
2
3
var name = "abcdefg";
console.log(name.search(/[a-g]/));
//结果:0

/c/ — 匹配 c,并返回下标位置。

1
2
3
var name = "abcdefg";
console.log(name.search(/[c]/));
//结果:2

/A-Z/ — 匹配大写字母 A~Z的任意一个字符并返回下标位置

1
2
3
var name = "ABCDEFG";
console.log(name.search(/[A-G]/));
//结果:0

/1-9/ — 匹配从1到9的任意一个数,并返回下标位置

1
2
3
var name = [1,2,3,4,5,6,7,8,9];
console.log(name.search(/[1-9]/));
//结果:0

/abcd/ — 匹配 abcd
/1234/ — 匹配1234
/^a-z/ — 匹配除小写a~z外的任意一个字符

定位符
^ — 开始
$ — 结束
\b — 任意符号(标点符号)
\B — 非任意符号(标点符号)
+ — 定位含有 + 号的字符
- — 定位含有 - 号的字符
``

匹配次数

{n} — 匹配确定n个,如 {10} ,连续匹配10个。
{n,} — 至少匹配n个,如 {1,} ,至少匹配1个
{n,m} — 至少匹配n个,最多匹配m个,如 {1,7} ,至少匹配1个,最多匹配7个。

1
2
3
4
//匹配11位数字,其中 /d 代表任意数字
var name = "我的电话是:18300169375";
console.log(name.search(/[\d]{11}/));
//结果:6

字符串操作

索引

length — 字符串长度

1
2
3
var name = "陈陈菌";
console.log(name.length);
//结果:3

indexOf() — 检索某个首次出现的字符串元素下标

1
2
3
var name = "陈陈菌";
console.log(name.indexOf("陈"));
//结果:0

charAt() — 返回指定位置的字符串

1
2
3
var name = "陈陈菌";
console.log(name.charAt(2));
//结果:菌

concat() — 丛现有字符串中拼接新字符串

1
2
3
var name = "陈陈";
console.log(name.concat("菌"));
//结果:陈陈菌

提取

split() — 将字符串分割为字符串数组

1
2
3
4
var name ="chengchenjun";
var array = name.split("g");
document.write(array);
//结果: ["chen", "chenjun"]

slice() — 将字符串的字符切片

1
2
3
var name ="chenchenjun";
console.log(name.slice(0,4));
//结果:chen

编码

charCodeAt() — 返回字符串某个位置的字符的 UniCode 编码

1
2
3
4
5
6
var name ="小陈";
document.write("小(Unicode):"+name.charCodeAt(0)+"<br>");
document.write("陈(Unicode):"+name.charCodeAt(1)+"<br>");
//结果:
//小(Unicode):23567
//陈(Unicode):38472

fromCharCode() — 用 UniCode 编码返回字符串

1
2
3
var name = String.fromCharCode(65);
console.log(name);
//结果:A

比较

localeCompare() — 比较两个字符串,一致时为 0 否则为 1

1
2
3
4
var name = "小陈";
var name2 = "小陈";
console.log(name.localeCompare(name2));
//结果:0

显示

big() — 用大号字体显示字符串

1
2
var name = "陈陈菌";
document.write(name.big());

small() — 用小号字体显示字符串

1
2
var name ="小陈";
document.write(name.small());

bold() — 使用粗体显示字符串

1
2
var name = "陈陈菌";
document.write(name.bold());

strike() — 使用删除线的形式显示字符串

1
2
var name ="小陈";
document.write(name.strike());

link() — 将字符串以链接形式显示

1
2
var name ="小陈";
document.write(name.link());

sub() — 将字符串以下标文形式显示
sup() — 将字符串以上标文形式显示

1
2
3
var name ="小陈";
document.write("下标文:"+name.sub()+"<br>");
document.write("上标文:"+name.sup()+"<br>");

toLocaleLowerCase() — 将字符串以小写形式显示
toLocaleUpperCase() — 将字符串以大写形式显示

1
2
3
4
5
6
var name ="abc";
document.write(name.toLocaleLowerCase()+"<br>");
document.write(name.toLocaleUpperCase()+"<br>");
//结果:
//abc
//ABC

arguments 的使用

当不清楚函数需要传递的参数有多少时,可以使用 arguments 变量来存放。
arguments 最终会以伪数组的形式返回参数。什么叫伪数组呢? 也就是它可能具有数组的特性:如 数组的存放方式数据索引数据长度 length 但不具有数组的一些方法:如 pop( ) 等。如果要频繁管理这些数据,最好把它们放进一个新的 Array 里。

1
2
3
4
5
function fn(){
var arr = arguments;
console.log(arr);
}
fn(1,'陈',true,17.1);
1
2
3
4
5
6
7
8
9
function getArray(){
let max = [];
for(let i=0;i<arguments.length;i++){
max[i] = arguments[i];
}
// [33,2,111]
console.log(max);
}
getArray(33,2,111);

需要注意:
每次传进来的值都会按顺序接着存放,而不会覆盖原值。

引入HTML的方式

1.内嵌式

1
2
3
<script>
console.log("My 's JavaScript");
</script>

2.行内式

1
<input type="button" value="点我弹对话框" onclick="alert('巴拉巴拉巴拉')"

3.外部引入

1
<script src="js文件路径"></script>

BOM window对象

属性 描述
window.innerHeight 浏览器高度
window.innerWidth 浏览器宽度
方法 描述
window.open() 打开一个新窗口
window.close() 关闭当前的窗口

BOM screen对象

属性 描述
availHeight 返回显示屏幕高度(不包括系统任务栏)
availWidth 返回显示屏幕宽度(不包括系统任务栏)
Height 返回显示屏幕高度
Width 返回显示屏幕宽度
bufferDepth 设置或返回调色板比特深度
colorDepth 返回设备的比特深度
deviceXDPI 返回显示屏幕的每英寸水平点数
deviceYDPI 返回显示屏幕的每英寸垂直点数
logicalXDPI 返回显示屏幕每英寸水平方向的常规点数
logicalYDPI 返回显示屏幕每英寸垂直方向的常规点数
pixelDepth 返回显示屏幕的颜色分辨率
fontSmoothingEnabled 返回显示屏幕是否启用了字体平滑
updateInterval 设置或返回屏幕的刷新率

BOM navigator对象

属性 描述
appName 返回浏览器名称
appVersion 返回浏览器平台和版本信息
cookieEnabled 返回浏览器是否启用cookie
platform 返回运行浏览器的操作系统

BOM location对象

属性 描述
location.href 当前网页的URL链接
location.port 当前网页链接的端口
方法 描述
location.reload() 重新刷新当前网页

BOM history对象

属性 描述
history.length 返回浏览器历史列表中URL数量
方法 描述
history.back() 加载 history 列表中的前一个URL
history.forward() 加载 history 列表中的下一个URL
history.go() 加载 history 列表中的指定URL

BOM document对象

属性 描述
document.bgColor 背景颜色
document.fgColor 前景色
document.linkColor 未点击过的链接颜色
document.alinkColor 获取焦点的链接颜色
document.vlinkColor 点击过的链接颜色
document.URL 路径地址
document.cookie 网页cookie
document.body 获取body标签元素
document.documentElement 获取html标签元素
document.location.href 完整URL
方法 描述
document.write() 向网页写入内容
document.createElement(Tag) 创建一个标签
document.location.reload() 刷新当前网页
document.location.reload(URL) 打开新网页
document.getElementsById(ID) 获取 ID 元素
document.getElementsByClassName(class) 获取 class 元素
document.getElementsByName(Name) 获取 Name 元素
document.querySelector() 根据指定选择器返回第一个对象
document.querySelectorAll() 根据指定选择器返回全部对象

全局事件属性

window 属性 说明
onload 在页面加载结束之后触发
onunload 在用户离开页面后触发
Form 表单属性 说明
onblur 当元素失去焦点时触发
onchange 当元素值发生改变时触发
onfocus 当元素获得焦点时触发
onreset 当表单中的重置按钮被点击时触发
onselect 在元素中文本被选中后触发
onsubmit 在提交表单时触发
Keyboard 键盘事件 说明
onKeyDown 在用户按下按键时触发
onkeypress 在用户按下按键后再按着按键时触发
onkeyup 当用户释放按键时触发
Mouse 鼠标事件 说明
onclick 当元素被点击时触发
ondblclick 当元素被双击时触发
onmousedown 当元素被按下时触发
onmouseup 当元素被释放时触发
onmousemove 当鼠标移动到元素时触发
onmouseover 当鼠标移动到元素时触发
onmouseout 当鼠标移出元素时触发
mousewheel 当鼠标滚轮滚动时触发
Media 媒体事件 说明
onabort 当退出播放器时触发
onwaiting 当媒体停止播放时触发