函数function_DemoCloud的博客-程序员秘密

技术标签: javascript  

函数也是属于一个对象
函数用于封装一些功能(代码),在需要时可以执行
函数中可以保存一些代码,在需要的时候调用执行
使用typeof检查对象时,返回function
创建一个函数对象
可以将要封装的代码以字符串的形式传递给构造函数

var fun = new Function("console.log("hello world")")

其中封装到函数中的代码不会立即执行,只有在被调用的时候按照顺序执行。

调用函数的语法:函数对象()
fun()

创建函数

  • 函数声明的方式
语法:
function 函数名([形参1,形参2...形参N]){
    
	...
	}
	function fun2(){
    
		console.log("the is a function")
		alert("hello")
		document.write("world")
		}
  • 函数表达式的方式
语法:
var 函数名=function([形参1,形参2...形参N]){
    
	语句...
	}
	
var fun3=function(){
    
	console.log("1111“)
	}

函数中的参数

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

     	 * 	可以在函数的()中来指定一个或多个形参(形式参数)
     	 * 	多个形参之间使用,隔开,声明形参就相当于在函数内部声明了对应的变量
     	 * 	但是并不赋值
    
function sum(a,b){
    
				console.log("a = "+a);
				console.log("b = "+b);
				console.log(a+b);
			}
  • 在调用函数时,可以在()中指定实参(实际参数)

     	 * 	实参将会赋值给函数中对应的形参
    
  • 调用函数时解析器不会检查实参的类型,

     	 * 	所以要注意,是否有可能会接收到非法的参数,如果有可能则需要对参数进行类型的检查
     	 * 函数的实参可以是任意的数据类型
     	 * 
    
  • 调用函数时,解析器也不会检查实参的数量

     	 * 	多余实参不会被赋值
     	 * 如果实参的数量少于形参的数量,则没有对应实参的形参将是undefined
     	 * 
    
  • 创建一个函数,用来计算三个数的和

     	 * 可以使用 return 来设置函数的返回值
     	 * 	语法:
     	 * 		return 值
     	 * 	return后的值将会会作为函数的执行结果返回,
     	 * 		可以定义一个变量,来接收该结果 
     	 *  在函数中return后的语句都不会执行
     	 * 	如果return语句后不跟任何值就相当于返回一个undefined,
     	 * 	如果函数中不写return,则也会返回undefined
     	 * 	return后可以跟任意类型的值
    
function sum(a , b , c){
    
				//alert(a + b +c);
				
				var d = a + b + c;
				
				return d;
				
				//return undefined;

调用函数
变量result的值就是函数的执行结果
函数返回什么result的值就是什么

var result = sum(4,7,8);
			
//var result = alert("hello");
			
console.log("result = "+result);
  • sum()
    • 调用函数
    • 相当于使用的函数的返回值

sum

    • 函数对象
    • 相当于直接使用函数对象

retun

使用break可以退出当前的循环
break;

continue用于跳过当次循环
continue;

使用return可以结束整个函数
return;

其中返回值可以是任意的数据类型,也可以是一个对象,也可以是一个函数

           function fun3(){
    
				//在函数内部再声明一个函数
				function fun4(){
    
					alert("我是fun4");
				}
				
				//将fun4函数对象作为返回值返回
				return fun4;
			}
			
			a = fun3();
			//console.log(a);
			//a();
			fun3()();

最后一句fun3()()等同于a(),其中fun3()()调用了fun4()

立即执行函数

  • 立即执行函数

     	 * 	函数定义完,立即被调用,这种函数叫做立即执行函数
     	 * 	立即执行函数往往只会执行一次
    
			语法(function ([形参1,形参2...形参N]){
    
			代码...
			})(实参1,实参2...)
			
           (function(a,b){
    
				console.log("a = "+a);
				console.log("b = "+b);
			})(123,456);
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44621368/article/details/118224687

智能推荐

(二)Nginx安装配置、部署前端项目_韩亮老师的博客-程序员秘密_nginx 配置前端

​1、官网下载nginx安装文件,并上传 master节点的 /mnt/tools/文件夹下下载地址:[https://nginx.org/download/nginx-1.18.0.tar.gz](https://nginx.org/download/nginx-1.18.0.tar.gz)​2、解压tar -zvxf /mnt/tools/nginx-1.18.0.tar.gz -C /mnt/training/3、配置安装模块:#进入/mnt/training/nginx-1.18

MLAG与vPC之间有什么区别?_audrey-luo的博客-程序员秘密_mlag

如今,越来越多的企业开始利用数据中心虚拟化来降低成本和简化数据流,而为了确保数据可以在数据中心和业务位置之间实现无缝传输,网络容量需求将会大大增加。为了适应这种趋势发展,业界正在寻找通过连接尽可能多的网络设备来增强网络容量的方法,例如,MLAG和vPC,这两种链路聚合技术可连接多台以太网交换机,增加网络容量。那么您了解它们吗?两者之间有何不同?本文将对此展开全面的介绍。MLAG是什么?MLAG(多机箱链路聚合)是一种启用来自主机的二层多路径以获得额外的带宽或链路弹性的非标准协议,由于该协议是一种公共

CISCO数据中心虚拟化之vPC技术和配置_achejq的博客-程序员秘密

最近在研究数据中心功能时发现CISCO有一个虚拟化技术叫vPC的技术,今天就把我研究的成果分享出来。什么是vPC(virtual port channel)?研究了大半天,其实它就是一个可以跨不同设备的port-channel技术。它的作用:可以实现网络冗余,可以跨设备进行端口聚合,增加链路带宽,当链路故障时比生成树协议收敛时间还快。下面我们就说说为什么会出现vPC技术。如上图所示

h5外卖源码php_从零搭建外卖CPS平台小程序开发_m0_56783267的博客-程序员秘密

直到看到了一个好友分享到外卖 CPS,觉得这是一个机会,不仅任何地方都可以做,而且门槛相对较低。所以我最近分析了将近 30 个外卖大号,分析了他们的引流流程,总结一下他们有哪些可以值得我们借鉴的地方。希望对大家有所启发。当然最主要的还是着手去做。外卖cps带分销返利源码源代码地址http://www.mybei.cn搭建步骤下载以上源代码到本地http://www.mybei.cn成品展示截图步骤下载以上源代码到本地http://www.mybei.cn修改为你自己的微信

podman加速器配置 && Harbor搭建私人仓库_天外来物_的博客-程序员秘密

[[email protected] containers]# pwd/etc/containers[[email protected] containers]# vim registries.conf......unqualified-search-registries = ["docker.io"][[registry]]prefix = "docker.io"location = "j7nfsalu.mirror.aliyuncs.com"......[[email protected] ~]# c

随便推点

python class和class(object)用法区别-(转)_小白笑苍的博客-程序员秘密

# -*- coding: utf-8 -*-# 经典类或者旧试类class A: passa = A()# 新式类class B(object): passb = B()# python2不支持# print(A.__class__)print(a.__class__)print(type(A))print(type(a))# python2# __main__.

日语中的接打电话礼貌用语_方长存的博客-程序员秘密

1 接电话的场合& おはようございます、○○会社です。& はい、○○会社でございます。& はい、○○会社、田中がうけたまわっております。& おはようございます、○○会社、××部でございます。 2 打电话的场合& おはようございます、いつもお世话になります、○○社の铃木と申しますが。 & いつもお世话になっております、私○○社の铃木と申しますが。顾客に対して电话応

PS188——谱瑞(Parade)推动的 Type-C扩展坞红海战略_Type_C_Ken的博客-程序员秘密_ps186芯片

PS188——谱瑞(Parade)推动的 Type-C扩展坞红海战略两年前谱瑞(Parade)收购睿思科技(Fresco Logic)的时候,没有人会想到,扩展坞行业老大已经准备好主动发起价格战了。

Linux系统I/O模型和网络I/O模型_白-胖-子的博客-程序员秘密

计算机I/OI/O在计算机中指Input/Output,Linux服务器 I/O 原理和流程内核空间和用户空间数据交换具体参见:https://blog.csdn.net/timonium/article/details/117775331Linux系统I/O模型和网络I/O模型基于Linux服务器I/O原理提出的数据交换模式架构说人话:IO模型就是一种数据传递的设计方案太长不看版本同步和异步同步:使用天然气老水壶烧水,得盯着异步:使用物联网电水壶烧水,水烧开了自动停了还

数据类型(五大基本类型,3种特殊类型)_融极的博客-程序员秘密_数据类型有哪几种

概述官方文档Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LR

推荐文章

热门文章

相关标签