1./* JavaScript函数

函数function

- 函数也是一个对象

- 函数中可以封装一些功能(代码),在需要的使用可以执行这些功能(代码)

- 函数中可以保存一些代码在需要的时候调用

- 使用typeof检查一个函数对象时,会返回function

*/

//1.使用构造函数创建一个函数对象

//2.使用函数声明创建一个函数

//3.使用函数表达式创建一个函数/匿名函数

{//代码块

console.log("苹果");

console.log("葡萄");

console.log("菠萝");

}

// var obj=new Object();

//我们在开发的时候不建议使用这种方式

//可以将要封装的代码以字符串的形式传递给构造函数

var fun1=new Function("console.log('这是通过构造函数创建的函数')");

console.log(typeof fun1);

//封装到函数中的代码不会即可执行

//函数中的代码会在函数调用的时候执行

//调用函数:语法 函数对象();

//当调用函数时,函数中封装的代码会按照顺序执行

fun1();

/*使用函数声明来创建一个函数(建议使用方式)

语法:function 函数名([形参1,形参2,...,形参N]){

//语句

}

说明:[形参1,形参2,...,形参N]这里的[]表示可以使用参数也可以不使用参数

函数的调用:函数名([实参1,实参2,...]);

*/

function fun2(){

console.log("苹果");

console.log("葡萄");

console.log("菠萝");

}

fun2();

//匿名函数

// function(){

//

// }

//使用函数表达式创建一个函数

var fun3= function(){

alert("这是一个匿名函数")

};

fun3();

  1. 函数的参数

/*定义一个用来求两个数和的函数

可以在函数的()中来指定一个或多个形参(形式参数)

多个形参之间使用","隔开,声明形参就相当于在函数内部声明了对应的变量

但是并不赋值

*/

function sum(a,b){

var add=a+b;//false+"123" =>false123

console.log(add);

}

sum(123,456,45,56,56,67);

sum(false,"123");

/*调用函数时解析器不会检查实参的类型,

所以要注意,是否有可能会接收到非法的参数,如果有可能则需要对参数进行类型的检查

*/

/*调用函数时,解析器也不会对检查实参的数量

多余的参数将不会被赋值

如果实参少于形参的数据,则没有对应实参的形参将是undefined

*/

function result(a,b,c){

console.log("a="+a);

console.log("b="+b);

console.log("c="+c);

var sum=a+b+c;

console.log("sum="+sum);

}

result(123,234);//实参少于形参

result(123,234,345,6767,78,9);//实参多余形参

  1. 函数的返回值与立即执行函数

/*32.0 JavaScript函数的返回值

创建一个函数,用来计算三个数的和

可以通过return 来返回函数的返回值

语法:return 值;

return 后面值将会作为函数的执行结果返回,

可以定义一个变量来接收函数的返回值

在函数return后的语句都不会执行

如果return语句后不跟任何值,就相当于返回一个undefined

*/

function sum(a,b){

var c=a+b;

return c;

alert("234234");

alert("234234");

alert("234234");

alert("234234");

}

var total = sum(12,45);

console.log("返回结果=="+total);

/* 立即执行函数

函数定义完,立即被调用,这种函数叫做立即执行函数

立即执行函数往往只会执行一次

*/

(function(){

alert("这是一个立即执行函数");

})();

(function(a,b){

alert(a+b);

})(23,23);

call()与apply()

- 这两个方法都是函数对象的方法,需要通过函数对象来调用

- 当对函数调用call()和apply()都会去调用函数执行

- 在调用call()与apply()可以将一个对象指定为第一个参数

此时这个对象将会成为函数执行时的this

- call()方法可以将实参在对象之后依次传递

- apply() 方法需要将实参封装到一个数组中统一传递

JavaScript函数简介相关推荐

  1. TypeScript基础入门 - 函数 - 简介

    2019独角兽企业重金招聘Python工程师标准>>> 转载 TypeScript基础入门 - 函数 - 简介 项目实践仓库 https://github.com/durban89/ ...

  2. JavaScript函数:arguments的使用

    前期整理的JavaScript内容17篇附在文章末尾 一.arguments的使用 当我们不确定有多少个参数传递的时候,可以用 arguments 来获取.在 JavaScript 中,argumen ...

  3. html 超链接 javascript 函数 java 未定义_JavaScript 学习笔记(一)

    本系列适合作为JS的复习文档. 学习JavaScript,不要以为会做一两个如图片切换.tabs选项卡这样特效,就是精通JavaScript了.JavaScript不仅仅是用来做一两个特效,它更大的用 ...

  4. 深入理解javascript函数系列第二篇——函数参数

    前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,甚至可以不传参数.本文是深入理解javascript函数 ...

  5. 怎样在javascript函数中将变量传递给服务端脚本程序?

    怎样在javascript函数中将变量传递给服务端脚本程序? (有朋友问上述问题, 愿把结论分享给大家). 摘 要:   服务器端脚本运行时, 它只会解释执行<% %>或<?php ...

  6. 史上自定义 JavaScript 函数Top 10

    史上自定义 JavaScript 函数Top 10 http://www.dustindiaz.com/top-ten-javascript/     发布:wpulog | 发布时间: 2010年4 ...

  7. HTML和JavaScript函数之间的关系

    在javaScript中有两类函数,一个是自定义的函数,一个是JavaScript中的函数.在HTML中javaSrcipt能和HTML完全的融合,也就是我们的JavaScript系统函数能直接的应用 ...

  8. python 调用 javascript函数

    python 调用 javascript函数 # pip install pyexecjs import execjs # 直接执行 print('execjs.eval:', execjs.eval ...

  9. 现代 JavaScript 函数库 usuallyjs 的安装和使用

    usuallyjs usuallyjs 是一个面向现代 Web 开发的 JavaScript 实用函数库. usuallyjs 基于 ES6 开发,抛弃了传统 Web 开发中 DOM 和 BOM 操作 ...

最新文章

  1. pandas索引复合索引dataframe数据、索引其中多个水平(level)的多个数据行(index rows from different levels)、使用元组tuple表达复合索引的指定行
  2. 北斗导航 | 读取ground truth data(python源代码)
  3. mysql 删除重复数据_MySQL查找和删除重复数据
  4. react取消捕获_react 异常捕获
  5. 多线程的那点儿事(基础篇)
  6. c语言 信号函数,C语言中进程信号集的相关操作函数详解
  7. Audio播放流程(三)---NuPlayer流程之setAudioStreamType以及prepare
  8. python assertion failed_python - OpenCV错误:(-215:断言失败)!_src.empty()在函数'cvtColor'中 - 堆栈内存溢出...
  9. Android 自定义ScrollView 支持惯性滑动,惯性回弹效果。支持上拉加载更多
  10. Vue-跟着李南江学编程
  11. 公安大数据智能化平台(大数据人工智能公司)
  12. echarts地图整体渐变色
  13. SQL Server练习
  14. 详解Python中列表切片及浅拷贝的关系(上)
  15. cadence Virtuoso ADE原理图库中的VCVS(压控电压源)使用
  16. ThinkPad T400重装win7系统
  17. RK方案OTG口 OTG与HOST切换
  18. word2010生成的目录右侧不对齐怎么办?
  19. epoll_create详解
  20. linux 软连接 sudo ln -s 源文件 目标文件

热门文章

  1. 程序员的经济学系列——你不可不知的生存智慧——第一篇:小X是要成为IT精英的男人!...
  2. ARM 看门狗定时器
  3. 民用无人驾驶航空器系统驾驶员管理暂行规定
  4. 解决eclipse的 Invalid project description. overlaps the location of another project: 问题
  5. Python request 爬虫 食物营养成分查询平台
  6. flash芯片替换SAMSUNG K9K8G08U0E替换K9K8G08U0B
  7. Win10使用EasyBCD安装Ubuntu20.04双系统(windows引导)
  8. 汉芯一号诞生记 zz
  9. Nanopore测序在基因组 de novo中的应用
  10. 萤石三款摄像机采集数据及保存处理