跳到主要内容

JS 函数

函数的概念

函数是用于完成特定功能的语句块,类似于 Java 语言中的方法。函数分为系统函数和自定义函数。

系统函数

窗体函数

函数名说明
alert("提示信息")提示对话框
confirm("提示信息")确认对话框
prompt("提示信息")输入对话框

注: 输入对话框有一个返回值,该值即为输入的信息;如果用户没有进行输入而进行确认,那么结果为空字符串;如果用户进行取消操作,那么结果为null

数字相关函数

函数名说明
parseInt()将给定的字符串转换为整数
parseFloat()将给定的字符串转换为浮点数
isNaN()判断给定的值是否不是数字

示例

// 在JavaScript中,parseInt函数能够将以数字开头的任意字符串转换为整数
let a = parseInt("12a3");
console.log(a)
// 在JavaScript中,parseFloat函数能够将以数字以及'.'号开头的任意字符串转换为浮点数
let b = parseFloat(".123a")
console.log(b)
let result = isNaN("123");
console.log(result)
js

Math 类函数

方法说明示例
ceil(数值)向上取整Math.ceil(2.1); 结果为3
floor(数值)向下取整Math.floor(2.9); 结果为2
round(数值)取距离该数最近的数Math.round(2.5); 结果为3
random()取[0,1)之间的随机数Math.random(); 结果为0~1之间的浮点数

自定义函数

语法

function 函数名(参数列表) { // 可以不用谢let, 直接写变量名就ok
// 有需要就写return
}

// 调用
函数名(参数值1, 参数值2, ... , 参数值n);
js

示例

function sum(a, b)
{
return a + b;
}

function show()
{
console.log("这是JavaScript中的方法")
}

{
show();
let result = sum(1, 2);
console.log(result);
}
js

高级示例

/**
* 在JavaScript中,一个函数的返回值也可以是一个函数
* @param a
* @param b
* @param c
* @returns {function(*): number}
*/
function calculate(a, b, c)
{
let result = a * b;
return function (d) {
return result + c * d;
}
}

// 此时需要注意的是,calculate函数执行后得到的结果是一个函数,也就是说,在JavaScript中,
// 变量可以存储一个函数,这种情况,我们把这个变量当作函数使用即可
let s = calculate(1, 2, 3);
let num = s(4); // 再次调用函数,得到计算结果
console.log(num);

// 闭包,说白了,就是一个函数能够记住和访问其创建时所在的词法环境,即使在它被创建的词法环境已经消失后。
let n = calculate(1, 2, 3)(4); // 函数调用
console.log(n);
js

元素事件与函数

名称说明
click鼠标左键单击元素
blur元素失去焦点
focus元素获得焦点
keydown键盘按键被按下
keyup键盘按键被按下后释放
keypress键盘按键按下不论释放与否都生效
mouseover鼠标移动至元素上
mouseout鼠标移动至元素外
change(失去焦点或回车)元素的内容发生改变
input(一更新就)元素的内容发生改变

开启元素事件只需要在事件名前面加上on即可,关闭元素事件只需要在事件名前面加上off即可。

示例: 注意名称 on + 事件名, 表示开始监听, 里面可以调用(自定义)函数

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>元素事件与函数</title>
</head>

<body>
<!-- click事件 -->
<button onclick="alert('点击了按钮!')">Click me</button>

<!-- blur事件 -->
<input type="text" onblur="console.log('元素失去焦点');" />

<!-- focus事件 -->
<input type="text" onfocus="console.log('元素获得焦点');" />

<!-- mouseover事件 -->
<div onmouseover="console.log('鼠标移动至元素上');">鼠标移动至元素上</div>

<!-- mouseout事件 -->
<div onmouseout="console.log('鼠标移动至元素外');">鼠标移动至元素外</div>

<!-- change事件 -->
<select onchange="console.log('元素的内容发生改变');">
<option value="option1">Option 1</option>
<option value="option2">Option 2</option>
</select>
<input type="text" onchange="console.log('元素的内容按下回车或失去焦点则发生改变');" />

<!-- input事件 -->
<input type="text" oninput="console.log('时刻元素的内容发生改变');" />

</body>

</html>
html

当然也可以这样: (有些知识还没学)

// keydown事件
document.addEventListener("keydown", function(event) {
console.log("Key pressed: " + event.key);
});

// keyup事件
document.addEventListener("keyup", function(event) {
console.log("Key released: " + event.key);
});
js
请作者喝奶茶:
Alipay IconQR Code
Alipay IconQR Code
本文遵循 CC CC 4.0 BY-SA 版权协议, 转载请标明出处
Loading Comments...