一.js的内置对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js内置对象</title>
</head>
<body>
<script>
//js中,万物皆对象
//js中的值分两种:原始类型,对象
// var a = new String('abc')//这么写就相当于实例化了一个字符串对象,他就不再是普通的原始类型了
// a.abc = '123'
// console.log(a.abc)
//Math对象,存放的都是一些数学相关的方法
console.log(Math.sqrt(64));//开平方
console.log(Math.pow(2, 3));//次方,2,3就是2的3次方
console.log(Math.round(3.51));//四舍五入
console.log(Math.ceil(3.1));//向上取整
console.log(Math.floor(5.9));//向下取整
console.log(Math.max(1, 2, 33, 444));//最大数
console.log(Math.min(1, 2, 33, 444));//最小数
console.log(Math.random() * 100 + 1);//random本身只生成0-1的随机数,如果要指定,就用他乘以m+n,就会生成n-(n+m)的值
console.log(Math.abs(-100));//绝对值
console.log(Math.PI);//圆周率
// Date类,他里面存放的就是一些日期和时间相关的方法
var date = new Date();
console.log(date.getTime());//获取时间戳
//年月日 月份必须加一
console.log(date.getFullYear());
console.log(date.getMonth() + 1);
console.log(date.getDate());
//时分秒
console.log(date.getHours());
console.log(date.getMinutes());
console.log(date.getSeconds());
//星期
console.log(date.getDay());
//时间戳
console.log(Date.now());
</script>
</body>
</html>
二.js的window对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js的window对象</title>
</head>
<body>
<botton>百度一下</botton>
<script>
//定时器,第一个参数就是你要执行的操作,第二个参数就是间隔时间,时间以毫秒为单位
//下面的代码就是每隔五秒 打印一下123
// setInterval(function () {
// console.log(123)
// },5000)
//想要让定时器停止有两种方法,第一种就是直接关掉窗口,第二种就是使用clearInterval清除这个定时器
// i = 0
// var intv = setInterval(function () {
// console.log(123)
// if (i === 5){
// clearInterval(intv)
// }
// },5000)
//延时器,和定时器差不多 也是根据指定的时间 去执行代码 但是它只会执行一次
//清除延时器和定时器一样 只不过方法名不一样
// var tout = setTimeout(function () {
// console.log(1)
// },5000)
// clearTimeout(tout)
var btn = document.getElementsByTagName('botton')[0]
btn.onclick = function () {
//页面跳转
// location.href = 'https://www.baidu.com/'//直接在当前页面跳转
open('https://www.baidu.com/')//打开一个新的标签页
}
</script>
</body>
</html>
三.js函数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js函数</title>
</head>
<body>
<script>
//js中定义函数使用function关键字,后面跟上函数名,再加上小括号,括号内是函数的参数,后面再跟上大括号,大括号内是函数要执行的代码
//函数必须调用才会执行,调用函数是函数名加括号
// function f1() {
// console.log(1)
// }
// f1()
//函数参数,分为形参和实参,js中没有python中的必备默认之类的区分
//放在函数定义地方的参数叫做形参,调用函数的时候传进去的参数,叫做实参
//js的函数参数,它既不会检测参数的数据类型,也不会检测传入参数的个数
// function f2(a,b) {
// console.log(a,b)
// console.log(arguments)//不定长参数,接收到之后会将数据放到一个列表里面
// console.log(arguments[3])
// }
// // f2(1,2)
// f2(1,2,3,4,5)
//函数返回值,return,概念和python中一样
//如果你的函数没有return,但是你用变量接收了函数的调用,那么会得到一个undefined
// function f3(a,b) {
// var c = a+b
// return c
// }
// x = f3(1,2)
// console.log(x)
//函数作用域,其实就是用var和不用的区别
//在函数外面用var定义变量的时候,它是一个全局变量,在函数里面用var的时候,它是一个局部变量
//不用var直接定义变量的时候,不管在函数里面还是外面,他都是全局变量
// var a = 1
// function f4() {
// a++
// console.log(a)
// }
// f4()
// console.log(a)
//function前面如果有波浪线的话,那说明他是一个自调用函数,不需要专门调用,定义完直接调用 不需要函数名
// ~function () {
// console.log(123)
// }()//这里的小括号是自动调用的关键
//这也是一种自调用函数
// (function () {
// console.log(1)
// })()
//递归函数,和python中递归概念一样
function f5(x) {
if (x ==0){
console.log(x)
}else{
console.log(x)
f5(--x)//这里只能用--x或者x-1
}
}
</script>
</body>
</html>
四.js异常处理
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js异常处理</title>
</head>
<body>
<script>
//try下面放可能会报错的代码,catch下面放报错了进行处理的代码,finally,不管报错与否都要执行的代码
try{
num=1
console.log(num)
}catch(e){ //e就是捕获到的错误,它是一个对象
console.log('错误类型:',e.name,'错误信息:',e.message)
}finally{
console.log('执行完毕')
}
</script>
</body>
</html>