备案 控制台
开发者社区 开发与运维 文章 正文

【基础篇】JavaScript 函数介绍

简介: 【基础篇】JavaScript 函数介绍

 image.gif编辑

目录

前言

JavaScript 函数

实例

1、JavaScript 函数语法

2、调用带参数的函数

实例

实例

3、带有返回值的函数

语法

实例

4、局部 JavaScript 变量

5、全局 JavaScript 变量

6、JavaScript 变量的生存期

7、向未声明的 JavaScript 变量分配值

8、【练习】使用 HTML 、JavaScript 创建一个简单的计算器,包含加、减、乘、除四个功能:

总结


前言

     上期文章咱们系统的把JavaScript的对象给讲解了一遍,本期文章详细就让我们一起走进JavaScript的函数世界,函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。


JavaScript 函数

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

实例

<!DOCTYPE html>
  <html>
   <head>
   <meta charset="utf-8">
   <title>测试实例</title>
   <script> 
     function myFunction() { alert("Hello World!"); }
   </script>
  </head> 
  <body> 
     <button onclick="myFunction()">点我</button> 
  </body> 
 </html>

image.gif


1、JavaScript 函数语法

函数就是包裹在花括号中的代码块,前面使用了关键词 function:

function functionname()
{
    // 执行代码
}

image.gif

当调用该函数时,会执行函数内的代码。

可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。


编辑

JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。

2、调用带参数的函数

在调用函数时,您可以向其传递值,这些值被称为参数。

这些参数可以在函数中使用。

您可以发送任意多的参数,由逗号 (,) 分隔:

myFunction(argument1,argument2)

image.gif

当您声明函数时,请把参数作为变量来声明:

function myFunction(var1,var2)
{
代码
}

image.gif

变量和参数必须以一致的顺序出现。第一个变量就是第一个被传递的参数的给定的值,以此类推。

实例

<p>点击这个按钮,来调用带参数的函数。</p> 
<button onclick="myFunction('Harry Potter','Wizard')">点击这里</button>
 <script> 
    function myFunction(name,job){ alert("Welcome " + name + ", the " + job); }
 </script>

image.gif

上面的函数在按钮被点击时会提示 "Welcome Harry Potter, the Wizard"。

函数很灵活,您可以使用不同的参数来调用该函数,这样就会给出不同的消息:

实例

<button onclick="myFunction('Harry Potter','Wizard')">点击这里</button>
 <button onclick="myFunction('Bob','Builder')">点击这里</button>

image.gif

根据您点击的不同的按钮,上面的例子会提示 "Welcome Harry Potter, the Wizard" 或 "Welcome Bob, the Builder"。


3、带有返回值的函数

有时,我们会希望函数将值返回调用它的地方。

通过使用 return 语句就可以实现。

在使用 return 语句时,函数会停止执行,并返回指定的值。

语法

function myFunction()
{
    var x=5;
    return x;
}

image.gif

上面的函数会返回值 5。

注意: 整个 JavaScript 并不会停止执行,仅仅是函数。JavaScript 将继续执行代码,从调用函数的地方。

函数调用将被返回值取代:

var myVar=myFunction();

image.gif

myVar 变量的值是 5,也就是函数 "myFunction()" 所返回的值。

即使不把它保存为变量,您也可以使用返回值:

document.getElementById("demo").innerHTML=myFunction();

image.gif

"demo" 元素的 innerHTML 将成为 5,也就是函数 "myFunction()" 所返回的值。

您可以使返回值基于传递到函数中的参数:

实例

计算两个数字的乘积,并返回结果:

function myFunction(a,b) { return a*b; } 
document.getElementById("demo").innerHTML=myFunction(4,3);
"demo" 元素的 innerHTML 将是:
12

image.gif

在您仅仅希望退出函数时 ,也可使用 return 语句。返回值是可选的:

function myFunction(a,b) { if (a>b) { return; } x=a+b }

image.gif

如果 a 大于 b,则上面的代码将退出函数,并不会计算 a 和 b 的总和。


4、局部 JavaScript 变量

在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。

您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。

只要函数运行完毕,本地变量就会被删除。


5、全局 JavaScript 变量

在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。


6、JavaScript 变量的生存期

JavaScript 变量的生命期从它们被声明的时间开始。

局部变量会在函数运行以后被删除。

全局变量会在页面关闭后被删除。


7、向未声明的 JavaScript 变量分配值

如果您把值赋给尚未声明的变量,该变量将被自动作为 window 的一个属性。

这条语句:

carname="Volvo";

将声明 window 的一个属性 carname。

非严格模式下给未声明变量赋值创建的全局变量,是全局对象的可配置属性,可以删除。

var var1 = 1; // 不可配置全局属性
var2 = 2; // 没有使用 var 声明,可配置全局属性
console.log(this.var1); // 1
console.log(window.var1); // 1
console.log(window.var2); // 2
delete var1; // false 无法删除
console.log(var1); //1
delete var2; 
console.log(delete var2); // true
console.log(var2); // 已经删除 报错变量未定义

image.gif

8、【练习】使用 HTML 、JavaScript 创建一个简单的计算器,包含加、减、乘、除四个功能:

var result_1;
//加法
function add() {alert(1);
  var a = getFirstNumber();
  var b = getTwiceNumber();
  var re =Number( a) +Number( b);
  sendResult(re);
}
//减法
function subtract() {
  var a = getFirstNumber();
  var b = getTwiceNumber();
  var re = a - b;
  sendResult(re);
}
//乘法
function ride() {
  var a = getFirstNumber();
  var b = getTwiceNumber();
  var re = a * b;
  sendResult(re);
}
//除法
function devide() {
  var a = getFirstNumber();
  var b = getTwiceNumber();
  var re = a / b;
  sendResult(re);
}
//给p标签传值
function sendResult(result_1) {
  var num = document.getElementById("result")
  num.innerHTML = result_1;
}
//获取第一位数字
function getFirstNumber() {
  var firstNumber = document.getElementById("first").value;
  return firstNumber;
}
//获取第二位数字
function getTwiceNumber() {
  var twiceNumber = document.getElementById("twice").value;
  return twiceNumber;
}

image.gif


总结

       以上就是今天要讲的内容,本文介绍了JavaScript 函数语法,函数就是包裹在花括号中的代码块,前面使用了关键词 function,当调用该函数时,会执行函数内的代码。可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。

image.gif编辑


国服第二切图仔
目录
相关文章
阿珊和她的猫
|
1月前
|
JavaScript 前端开发
JavaScript 闭包:让你更深入了解函数和作用域
JavaScript 闭包:让你更深入了解函数和作用域
阿珊和她的猫
33 3
众所周知
|
1天前
|
自然语言处理 JavaScript 前端开发
在JavaScript中,this关键字的行为可能会因函数的调用方式而异
【6月更文挑战第15天】JavaScript的`this`根据调用方式变化:非严格模式下直接调用时指向全局对象(浏览器为window),严格模式下为undefined。作为对象方法时,`this`指对象本身。用`new`调用构造函数时,`this`指新实例。`call`,`apply`,`bind`可显式设定`this`值。箭头函数和绑定方法有助于管理复杂场景中的`this`行为。
众所周知
9 3
龙大吉
|
1天前
|
前端开发 JavaScript 数据处理
在JavaScript中,异步函数是指那些不会立即执行完毕,而是会在未来的某个时间点(比如某个操作完成后,或者某个事件触发后)才完成其执行的函数
【6月更文挑战第15天】JavaScript中的异步函数用于处理非同步任务,如网络请求或定时操作。它们使用回调、Promise或async/await。
龙大吉
13 7
茶卡盐佑星_
|
2天前
JS-函数封装数组求和案例
JS-函数封装数组求和案例
茶卡盐佑星_
5 0
茶卡盐佑星_
|
2天前
|
JavaScript 前端开发 容器
JavaScript 函数
JavaScript 函数
茶卡盐佑星_
3 0
添馨科技
|
3天前
|
JavaScript 前端开发
Node.js 函数
Node.js 函数
添馨科技
11 4
前端菜鸟的自我修养
|
17天前
|
JavaScript 前端开发
js中改变this指向、动态指定函数 this 值的方法
js中改变this指向、动态指定函数 this 值的方法
前端菜鸟的自我修养
15 1
郏国上
|
23天前
|
JavaScript 前端开发 Java
javascript是弱类型语言,一个函数参数可以接收不同类型的变量作为它的该参数
javascript是弱类型语言,一个函数参数可以接收不同类型的变量作为它的该参数
郏国上
25 0
yqcoder
|
27天前
|
前端开发 JavaScript
前端 JS 经典:函数管道
前端 JS 经典:函数管道
yqcoder
6 0
阿珊和她的猫
|
30天前
|
JavaScript 前端开发 网络架构
函数柯里化:JavaScript中的高级技巧
函数柯里化:JavaScript中的高级技巧
阿珊和她的猫
13 0

热门文章

最新文章

  • 1
    [IE&FireFox]JS兼容
  • 2
    JavaScript---网络编程(4)-Date、Math、Global和自定义对象
  • 3
    js验证图片格式
  • 4
    Bpmn.js 中文文档 之 Overlays
  • 5
    利用JS输出正三角形五角星
  • 6
    整理发布html的select控件实用js操作
  • 7
    禁用JavaScript控制台调试
  • 8
    HTML5使用 JavaScript File API 实现文件上传
  • 9
    怎样把网站js文件合并成一个?几种方法可以实现
  • 10
    常用javascript表单验证方法
  • 1
    监控内网电脑软件设计与实现:基于Node.js的服务器端架构分析
    160
  • 2
    Java Script 中的垃圾回收机制有哪些缺点
    32
  • 3
    描述 JavaScript 中的垃圾回收机制。
    28
  • 4
    如何使用 JavaScript 操作 DOM?
    24
  • 5
    解释 JavaScript 中的`map()`、`filter()`和`reduce()`方法的用途。
    26
  • 6
    JavaScript 中的数组方法有哪些?
    22
  • 7
    JS设置日期为0时0分0秒
    60
  • 8
    JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
    35
  • 9
    JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
    34
  • 10
    深入理解JavaScript中的闭包与作用域链
    11
  • 相关课程

    更多
  • JavaScript入门与实战
  • JavaScript 自学手册文档教程
  • 相关电子书

    更多
  • JavaScript面向对象的程序设计
  • Delivering Javascript to World
  • 编程语言如何演化-以JS的private为例
  • 相关实验场景

    更多
  • 前端开发基础6:Node.js和LESS预编译工具
  • Html5和Webpack2:Webpack5打包JS和样式表
  • 下一篇
    2024年阿里云免费云服务器及学生云服务器申请教程参考

    深圳SEO优化公司曲靖SEO按天收费大连如何制作网站价格安阳网站搭建多少钱定西建设网站哪家好三明seo报价南充设计网站报价白山seo排名大同网站开发报价罗湖百度标王济宁网站优化排名报价威海seo优化报价南平seo多少钱南阳企业网站设计价格毕节网站优化按天扣费推荐湖州网站制作公司曲靖网页制作报价徐州SEO按天收费价格伊春建设网站价格沙井网络广告推广公司黔西南建设网站价格保山企业网站改版公司随州高端网站设计多少钱云浮设计网站银川品牌网站设计推荐合肥网站开发报价盘锦网页设计推荐达州百度竞价包年推广价格丽水SEO按天计费推荐鸡西推广网站多少钱酒泉网站改版哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化