JavaScript 函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
实例
尝试一下 »
JavaScript 函数语法
函数就是包裹在花括号中的代码块,前面使用了关键词 function:
{
// 执行代码
}
当调用该函数时,会执行函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。 |
调用带参数的函数
在调用函数时,您可以向其传递值,这些值被称为参数。
这些参数可以在函数中使用。
您可以发送任意多的参数,由逗号 (,) 分隔:
当您声明函数时,请把参数作为变量来声明:
{
代码
}
变量和参数必须以一致的顺序出现。第一个变量就是第一个被传递的参数的给定的值,以此类推。
实例
尝试一下 »
上面的函数在按钮被点击时会提示 "Welcome Harry Potter, the Wizard"。
函数很灵活,您可以使用不同的参数来调用该函数,这样就会给出不同的消息:
实例
尝试一下 »
根据您点击的不同的按钮,上面的例子会提示 "Welcome Harry Potter, the Wizard" 或 "Welcome Bob, the Builder"。
带有返回值的函数
有时,我们会希望函数将值返回调用它的地方。
通过使用 return 语句就可以实现。
在使用 return 语句时,函数会停止执行,并返回指定的值。
语法
{
var x=5;
return x;
}
上面的函数会返回值 5。
注意: 整个 JavaScript 并不会停止执行,仅仅是函数。JavaScript 将继续执行代码,从调用函数的地方。
函数调用将被返回值取代:
myVar 变量的值是 5,也就是函数 "myFunction()" 所返回的值。
即使不把它保存为变量,您也可以使用返回值:
"demo" 元素的 innerHTML 将成为 5,也就是函数 "myFunction()" 所返回的值。
您可以使返回值基于传递到函数中的参数:
实例
计算两个数字的乘积,并返回结果:
"demo" 元素的 innerHTML 将是:
尝试一下 »
在您仅仅希望退出函数时 ,也可使用 return 语句。返回值是可选的:
如果 a 大于 b,则上面的代码将退出函数,并不会计算 a 和 b 的总和。
局部 JavaScript 变量
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
全局 JavaScript 变量
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
JavaScript 变量的生存期
JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。
向未声明的 JavaScript 变量分配值
如果您把值赋给尚未声明的变量,该变量将被自动作为 window 的一个属性。
这条语句:
将声明 window 的一个属性 carname。
非严格模式下给未声明变量赋值创建的全局变量,是全局对象的可配置属性,可以删除。
var var1 = 1; // 不可配置全局属性 var2 = 2; // 没有使用 var 声明,可配置全局属性 console.log(this.var1); // 1 console.log(window.var1); // 1 delete var1; // false 无法删除 console.log(var1); //1 delete var2; console.log(delete var2); // true console.log(var2); // 已经删除 报错变量未定义
urnotuj
zha***ei941017@163.com
在使用 return 语句时,函数会停止执行,并返回指定的值。例如:
尝试一下 »
urnotuj
zha***ei941017@163.com
FCmmmmmm
165***7222@qq.com
使用 HTML 、JavaScript 创建一个简单的计算器,包含加、减、乘、除四个功能:
尝试一下 »
更多实例
FCmmmmmm
165***7222@qq.com
qq1056125478
105***5478@qq.com
JavaScript 多选框多选与取消多选实例:
尝试一下 »
qq1056125478
105***5478@qq.com
不愿透露姓名的Croc
140***2262@qq.com
对于上述同学的笔记里JavaScript 多选框多选与取消多选实例,这次用按钮来统一实现:
尝试一下 »
不愿透露姓名的Croc
140***2262@qq.com
NathanieYi
106***8282@qq.com
作为参数的的变量称为形参,带入的参数称为实参。
NathanieYi
106***8282@qq.com
生活很黑白
975***049@qq.com
ES6 新增箭头函数,定义函数时更加简洁、易读。
生活很黑白
975***049@qq.com
无厘头
133***7479@qq.com
JavaScript 复选框实现全选、取消全选 、反选实例:
尝试一下 »
将选中设置为 checked 或 true, 取消选中可设置为空或 false,实现反选使用 checked 属性会出现问题。
无厘头
133***7479@qq.com
崔崔
183***56522@163.com
反驳 4 楼 不愿透漏姓名 Croc 代码存在 bug,当我手动点击一个一个选中后,在点击按钮会出现无法取消操作,需要点击两次。
改正后代码如下:
尝试一下 »
崔崔
183***56522@163.com
愚天者
135***6994@qq.com
四楼的代码中间加上这样一段代码也可以修复 bug。
愚天者
135***6994@qq.com
奕
182***50586@163.com
楼上的代码我感觉这样写更好理解一些,哈哈哈。
奕
182***50586@163.com
teble
xie***030@qq.com
楼上几个写的都是什么奇奇怪怪的东西,循环嵌套都出来了#[汗],何必按照别人的方式来写?这样不是简单明了,搞得那么弯弯绕绕还不加注释,最佳代码来了逻辑清晰明了,不接受反驳!(顺便吐槽一句,我一后台还要来学js)
teble
xie***030@qq.com
嗷嗷
119***2786@qq.com
楼上都不大简单,直接这样不就行了:
嗷嗷
119***2786@qq.com
极客帆
179***4346@qq.com
这样更简单:
极客帆
179***4346@qq.com