目录
一 函数
概述
函数的定义
函数的调用
1.在JS程序中被调用
有返回值调用
2.在按钮或超链接被点击时调用
监听按钮点击
监听超链接点击
变量的作用域
二 对象
对象的定义
编辑
对象的使用
三 常用类 Array
1. length
2.push属性
3.pop
4. reverse
四 常用类 String
length
charAt
concat
indexOf
split
五 常用类 Math
abs
max和min
floor和ceil
random
六 常用类 Date
一 函数
概述
JavaScript函数是用于封装可重复使用的代码块的一种方式。函数可以接受参数,执行特定的操作,并返回结果;也可以没有参数。
函数的定义
函数的定义使用关键字" function ",后面跟着函数名称,可选的参数列表,以及函数体。
格式:
function 函数名(参数1,参数2...) {语句;...
return 表达式; return语句指明被返回的值
}
函数的调用
1.在JS程序中被调用
有返回值调用
如果调用程序需要函数的返回结果,则要用下面的格式定义函数:
变量名=函数名(参数1,参数2...);
var c = num1 ( 30 , 70 );
函数有返回值:
function num1(a, b){var c = a+b;return c; }返回值的调用:var c=num1(30,70);console.log("a+b=" + c)
对于有返回值的函数调用,也可以在程序中直接利用其返回的值:
function num1(a,b){c=a+b;return c;}console.log(num1(3,5))
2.在按钮或超链接被点击时调用
监听按钮点击
<script>function num1(a, b){c = a+b;alert("a+b=" + c);return c; }
</script>
<input type="submit" value="计算a+b的和" onclick="num1(30,70)" />注:onclick为调用函数
监听超链接点击
<script>function num1(a, b){c = a+b;alert("a+b=" + c);return c; }
</script>
<a href="#" onclick="num1(30,70)">点击计算a+b</a>注:onclick为调用函数
变量的作用域
变量分为 全局变量 和 局部变量。
全局变量定义在所有函数之外,作用范围是所有函数;
局部变量定义在函数之内,只对该函数可见,对其它函数不可见。
<script>var c=1; //全局变量,既可以作用于所有函数内,又可以作用于函数外function num1(a,b){ var d=2; //局部变量,只作用与函数内var e=(a+b+c)*d;return e; }console.log(num1(4,5)); //返回20num2=(4+5+c)*dconsole.log(num2) //函数外无法调用局部变量d,控制台报错 </script>
二 对象
对象(object)是 JavaScript 中的一个基本数据类型,是一组“键值对”的集合体。其中,键可以为变量名(此时称为对象的属性)和函数名(此时称为对象的方法),例如:
var test={type:"Fiat", model:"500" ,dolor:"red"};
对象的定义
下面的代码创建了一个对象的例子,并向内添加了属性:
<script>person=new Objectperson.firstName="王";person.lastName="宝强"person.age="18"console.log(person)
</script>
创建对象运行结果
还可以用对象字符定义和创建对象:
var person2={firstName:"士兵",lastName:"突击",age:15,}console.log(person2)
对象的使用
要使用一个对象有以下方法:
1.引用JavaScript内置对象
2.创建新对象
一个对象在引用之前就要已经存在,引用对象方法如下:
person . lastName
person [ " age " ]
<script>person=new Objectperson.firstName="王";person.lastName="宝强"person.age="18"//引用对象方法:console.log(person.lastName)console.log(person["age"])
</script>
引用对象代码运行
三 常用类 Array
1. length
属性返回数组的元素个数(数组长度)
var test=new Array("小新","小白","风间","阿呆");console.log(test.length); //4
2.push属性
用于在数组末端添加一个或多个元素,并返回;添加新元素后会改变原数组的长度
var test=new Array("小新","小白","风间","阿呆");test.push("广志");console.log(test)console.log(test.length)
push属性 测试
3.pop
用于删除数组最后一个元素,并返回被删除的那个元素;会改变原数组长度
var test=new Array("小新","小白","风间","阿呆");test.push("广志");test.pop("广志")console.log(test);
4. reverse
用于颠倒排列数组元素,返回改变后的数组;原数组的排列顺序会被打乱
var test=new Array("小新","小白","风间","阿呆");test.reverse();console.log(test);
四 常用类 String
length
返回字符串的长度
var s="hello,javascript";console.log(s.length) //长度16
charAt
返回指定位置的字符
var s=new String("hello,javascript");console.log(s.charAt(7)); // "a"console.log(s.charAt(s.length-1)); //"t"console.log(s.charAt(17)); //索引超出返回空字符串
charAt 属性测试
concat
用于顺序连接多个字符串,返回一个新字符串(不改变原字符串)
var s1=new String(" hello ");var s2=new String(" javascript ");console.log(s1.concat(s2)); console.log(s2.concat(s1," hello "," web "));
concat 属性测试
indexOf
用于确定一个字符串在另一个字符串中第一次出现的位置,返回结果是匹配开始的位置。如果返回-1表示不匹配
var s1=new String(" hello javascript");console.log(s1.indexOf("java")); console.log(s1.indexOf("hi"));
indexOf 属性测试
split
按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组
var s1=new String(" hello javascript");console.log(s1.split(' ')); console.log(s1.split('s'));
五 常用类 Math
Math是JavaScript内置类,通过其内部的类方法,提供了各种数学功能
abs
返回参数值的绝对值
console.log(Math.abs(1)) // 1console.log(Math.abs(-1)) // 1
max和min
返回参数值的最大值和最小值
console.log(Math.max(1,2,3)) // 3console.log(Math.min(1,2,3)) // 1
floor和ceil
对参数向下取整和向上取整
console.log(Math.floor(3.3)) // 3console.log(Math.floor(-3.3)) // -4console.log(Math.ceil(3.3)) // 4console.log(Math.ceil(-3.3)) // -3
random
返回 [0,1)之间的一个伪随机数
for (var index = 1; index <=5; index++){console.log(Math.random())}
六 常用类 Date
getFullYear | 获取年份 | getHours | 获取小时 |
getMonth | 获取月份 | getMinutes | 获取分钟 |
getDate | 获取日期 | getSeconds | 获取秒 |
// 基于Date类,创建一个对象示例,表示当前日期和时间 const now = new Date(); // 获取年份(四位数的年份,比如2024) const year = now.getFullYear(); console.log(year)// 获取月份(从0开始,所以0表示1月,11表示12月,需要加1才能得到实际月份) const month = now.getMonth() + 1; console.log(month) // 获取日期(月份中的哪一天) const day = now.getDate(); console.log(day)// 获取小时(24小时制) const hours = now.getHours(); console.log(hours)// 获取分钟 const minutes = now.getMinutes();console.log(minutes) // 获取秒 const seconds = now.getSeconds();console.log(seconds) // 输出当前未格式化的日期和时间 console.log(`当前日期和时间: ${year}-${month}-${day} ${hours}:${minutes}:${seconds}`);
获取当前时间