第一部分:MATH对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>MATH对象</title>
</head>
<body>
<script>
// 开方
document.write(Math.sqrt(4) + "<br>"); //2
// 绝对值
document.write(Math.abs(-5) + "<br>"); //5
// pi
document.write(Math.PI + "<br>"); //3.141592653589793
// x的y次方
document.write(Math.pow(2,3) + "<br>"); //8
// 取整 四舍五入
document.write(Math.round(3.6) + "<br>"); //4
// 向下取整
document.write(Math.floor(2.7) + "<br>"); //2
// 向上取整
document.write(Math.ceil(2.4) + "<br>"); //3
// 最大数
document.write(Math.max(3,6,21,3) + "<br>"); //21
// 最小数
document.write(Math.min(3,6,4,2) + "<br>"); //2
// 随机数 默认0到1(左闭右开)
document.write(Math.random() + "<br>");
document.write(Math.random()*100 + "<br>"); //0到100的随机数
document.write(Math.round(Math.random()*100) + "<br>"); //0到100的随机整数
</script>
</body>
</html>
第二部分:日期对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>日期对象</title>
</head>
<body>
<script>
// 定义一个日期对象
var today = new Date(); //得到本机电脑的时间
// 获取年
var year = today.getFullYear();
document.write(year + "<br>");
// 获取月 注意:获取的月份从0开始 比如:本机电脑是1月,则获取是0月。
var month = today.getMonth()+1;
document.write(month + "<br>");
// 获取日期
var date = today.getDate();
document.write(date + "<br>");
// 获取周几
var day = today.getDay();
document.write(day + "<br>");
// 获取小时
var hour = today.getHours();
document.write(hour + "<br>");
// 获取分钟
var minute = today.getMinutes();
document.write(minute + "<br>");
// 获取秒数
var second = today.getSeconds();
document.write(second + "<br>");
// 时间戳
var time = Date.now();
document.write(time);
</script>
</body>
</html>
第三部分:函数
(1)定义一个函数?
function funName(){}
(2)函数分类:
有名函数,匿名函数。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>函数</title>
</head>
<body>
<p onclick="add()">我是一个段落标签</p>
<p onclick="add2('你是段落标签2')">我是一个段落标签2</p>
<p onclick="add3()">我是一个段落标签3</p>
<script>
// 有名函数 可以进行调用
function add() { //add就是函数名字
alert("你是段落标签1");
};
// 匿名函数 不可进行调用 一般充当事件函数!
var p1 = document.getElementsByTagName("p")[2];
p1.onclick = function () {
alert("你是段落标签3");
};
// 函数传参
function add2(a) {
alert(a)
};
// 函数返回值 return
function add4(a) {
return a; //注意:return意味着函数结束,函数体中return下面的语句不起作用!
}
var b = add4("我是函数返回值");
alert(b)
// 不定长参数 arguments可以接收任意多个参数!
function fun() {
console.log(arguments)
}
fun(1,2,3,4,5);
// 自定义函数(自调用函数) 自己会调用自己,直接就执行函数了。 ! 或者 ~ 或者 + 或者 - 或者 () 都可以表示;
~function () {
console.log("我是自调用函数");
}();
// 小括号表示自定义函数的另外两种写法:
(function () {
console.log("我是自调用函数");
})();
(function () {
console.log("我是自调用函数");
}());
// JS里函数的作用域
var a = 10; //全局变量
function fun3() {
// 函数作用域:局部变量
var a = 20; //如果把var去掉,弹出结果就变成:10 20 20。涉及:子作用域会改变父作用域的值。 这时a就相当于全局变量了。
alert(a);
}
alert(a);
fun3();
alert(a);
// 弹出为:10 20 10
// 来个例子分析: 子作用域会改变父作用域的值
var a = 10;
function fun() {
var a = 20;
function fun1() {
a = 30; //因为此处没有加var,子作用域会改变父作用域的值。所以调用fun()得到的a是30。
}
fun1();
alert(a);
}
alert(a); //10 程序从上往下执行,遇到函数先跳过,所以此处a是10。
fun(); //30
alert(a); //10 要注意:子作用域是会改变父作用域的值,但只是父作用域的值,再往上(爷爷辈的)就不会改变了!!!
// 小拓展:
// let定义局部变量的关键字
{
// 块级作用域 只能在这个花括号里面使用,如果在花括号外面使用会报错,显示i未被定义! 但是如果使用var定义的就都可以。
let i = 1;
console.log(i)
}
</script>
</body>
</html>
第四部分:定时器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>定时器</title>
</head>
<body>
<script>
// 第一种定时器:::
// 在指定时间后执行一次
var time1 = setTimeout(function () {
console.log(123);
},3000); //时间单位是ms
// 清除定时器
clearTimeout(time1);
// 第二种定时器:::
// 以指定的时间为周期循环执行
var time2 = setInterval(function () {
console.log(456);
},1000);
// 清除定时器
clearInterval(time2);
</script>
</body>
</html>