咸鱼前端—js 函数

  • 函数的定义
  • 函数的调用
    • 作为函数
    • 作为方法
    • 作为构造函数
    • 通过它们的call()和apply()方法间接调用
  • 函数的形参和实参
  • 返回值

函数:把一些重复的代码封装起来,以供需要时调用

函数的定义

函数定义:使用function关键字来定义,它可以用在函数定义表达式或者函数声明语句里,在两种形式中,函数定义都是从function关键字开始,气候跟随这些组成部分:

  • 函数名称标识
  • 一对圆括号
  • 一对花括号
  function 函数名(){//函数体}
函数的调用

构成函数主题的JS代码在定义时不会执行,只有在调用该函数时,他们才会执行。有4种方式来调用

作为函数

就是一个简单的函数调用. 函数名的前面没有任何引导内容

 function myFunction(a, b) {return a * b;}myFunction(10, 2);
作为方法

依附于一个对象, 将函数赋值给对象的一个属性。

 var myObject = {firstName:"John",lastName: "Doe",fullName: function () {return this.firstName + " " + this.lastName;}
}
myObject.fullName();         // 返回 "John Doe"
作为构造函数

如果函数调用前使用了 new 关键字, 则是调用了构造函数。 这看起来就像创建了新的函数,但实际上 JavaScript函数是重新创建的对象:

 // 构造函数:
function myFunction(arg1, arg2) {this.firstName = arg1;this.lastName  = arg2;
}// 创建一个新对象
var x = new myFunction("John","Doe");
x.firstName;                             // 返回 "John"
通过它们的call()和apply()方法间接调用

在 JavaScript 中, 函数是对象。JavaScript 函数有它的属性和方法。
call() 和 apply()是预定义的函数方法。 两个方法可用于调用函数,两个方法的第一个参数必须是对象本身。

//call()
function myFunction(a, b) {return a * b;
}
myObject = myFunction.call(myObject, 10, 2);     // 返回 20
//apply()
function myFunction(a, b) {return a * b;
}
myArray = [10, 2];
myObject = myFunction.apply(myObject, myArray);  // 返回 20
函数的形参和实参
    //函数定义function xianYu(x, y) {//形参:函数定义时,函数名后面小括号里的变量就是形数,不需要写var     }//函数调用xianYu(10, 20)//实参:函数调用时小括号里传入的变量或者是值,都是实参
返回值
  1. 函数中如果有return,函数就有返回值; 如果函数中没有return,函数没有返回值
function xianYu(x){return x
}
console.log(xianYu(10))//10
  1. 如果函数中有return,但是后面什么内容都没有,这个函数没有明确返回值
  2. 如果一个函数没有明确的返回值,函数调用了,并且接收了,那么此时接收的结果undefined
function xianYu(x){}
console.log(xianYu(10))//undefined
  1. 如果直接输出函数名字,那么是这个函数的代码
  2. 无参数无返回值的函数
  3. 函数作为返回值
function xianYu(){console.log("函数调用了")return function(){console.log("我是函数")}
}
var func=xianYu()//调用
//func就是函数了
func()

咸鱼前端—js 函数相关推荐

  1. 咸鱼前端—js location对象

    咸鱼前端-js location对象 Location 对象 URL Location 对象属性 Location 对象方法 Location 对象 location对象是window对象下的一个属性 ...

  2. 学会这5种JS函数继承方式,前端面试你至少成功50%

    摘要:函数继承是在JS里比较基础也是比较重要的一部分,而且也是面试中常常要问到的.下面带你快速了解JS中有哪几种是经常出现且必须掌握的继承方式.掌握下面的内容面试也差不多没问题啦~ 本文分享自华为云社 ...

  3. html的弹窗标签是什么意思,前端实现展示弹窗,为什么不同的标签弹出相同的内容?是不是js函数写错了,需要怎么改呢?...

    Fisrt First First Second Second Second js函数 $(function(){ }) function openDialog(){ document.getElem ...

  4. api日常总结:前端常用js函数和CSS常用技巧

    我的移动端media html{font-size:10px} @media screen and (min-width:321px) and (max-width:375px){html{font- ...

  5. 前端进阶JS函数增强与对象增强

    JS函数增强 函数属性 JavaScript中函数也是一个对象,那么对象中就可以有属性和方法,他有一些默认的属性 name 函数名 length 函数参数个数(ES6 ... 语法不会被算在内) ar ...

  6. 前端Js框架 UI框架汇总 特性 适用范围 选择

    身为一个资深后端工程师,面对层出不穷的前端框架,总让人眼花缭乱,做一个综合解析贴,从全局着眼,让我们明白各种前端框架的应用范围,为如何选择前端框架,从不同的维度提供一些线索,做为一个长期优化贴,欢迎指 ...

  7. python爬取js加载的数据_Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程...

    昨天有小伙伴找我,新浪新闻的国内新闻页,其他部分都是静态网页可以抓到,但是在左下方的最新新闻部分,不是静态网页,也没有json数据,让我帮忙抓一下.大概看了下,是js加载的,而且数据在js函数中,很有 ...

  8. 如何去调试前端JS代码?以Chrome谷歌浏览器为例

    前端调试是所有前端开发者绕不过去的一个环节,很多初学者却不知道该如何去做,今天小千就来以Chrome谷歌浏览器为例,教大家如何去调试前端JS代码. 为什么要调试? 程序就是函数堆砌起来的,程序的运行就 ...

  9. 前端 ---JS中的面向对象

    JS中的面向对象 创建对象的几种常用方式 1.使用Object或对象字面量创建对象 2.工厂模式创建对象 3.构造函数模式创建对象 4.原型模式创建对象 1.使用Object或对象字面量创建对象 JS ...

最新文章

  1. mysql数据库从删库到跑路之mysql完整性约束
  2. Cacti Weathermap 高级用法 (二)
  3. 跟我学XSL(四)-脚本与XSL的结合及应用
  4. Android源码大全
  5. 卡顿严重_王者峡谷:S20出现bug?卡顿十分严重
  6. P1297-[国家集训队]单选错位【期望概率】
  7. Nodejs简单介绍以及在windows环境下安装与配置流程
  8. 专业 英语 心智 口才
  9. Oracle 备份与恢复学习笔记(14)
  10. 收藏商品表设计_babycare商品价格及销售情况分析
  11. 【译】Vault 学习资源:1.0, 自动解印, 代理, Kubernetes
  12. PSVR透露下一步计划,不做内容改做声控
  13. pass 软件_PASS软件非劣效Logrank检验的h1参数如何设置?
  14. oracle 安装包 下载、plsql 64位 安装包下载 、 plsql注册码
  15. 拼多多商品详情如何获取呢?进来手把手教你
  16. ​SIGIR 2022 | 港大、武大提出KGCL:基于知识图谱对比学习的推荐系统
  17. C/C++音乐播放(亲测有效)
  18. 提到单片机很多人都很觉得不陌生,大街小巷上面电子产品都用到
  19. 安卓性能优化——布局性能优化
  20. Oracle官网下载历史版本软件

热门文章

  1. 金蝶K3对特定单据表体数据进行列锁定
  2. AD(二十一)面向加工——PCB的检查和生产输出(光绘、钻孔文件、IPC网表、贴片坐标文件、BOM表)
  3. 电荷泵自制MOS管高压驱动电源
  4. html页面推送功能的实现,想实现Web页面内容自动更新?你需要了解WEB实时推送技术!...
  5. 【UWP】AnimatedIcon 动态图标的实现步骤
  6. Winbox 基本介绍
  7. 计算机的配置cpu,一个完整的计算机的配置包括CPU
  8. 一定要知道!好的设计竟能如此重要
  9. 利用教育网站源码进行网校平台搭建,如何留住学生用户?
  10. 3DMAX导出插件的编写