聊聊javaScript的函数

代码觅月使
• 阅读 1218

函数

函数只定义一次,但可能会被执行多次或调用多次的代码,简单说,函数就是一组可重用的代码,可以在程序的任何地方调用它

定义函数

  • 函数声明方式
function fun(){
    console.log('这是一个函数');
}
  • 字面量表达式,有点类似于声明变量的方式
var fun=function(){
    console.log('这是一个');
}

调用函数

函数定义并不会自动执行,定义了函数仅仅是函数的名称,方便调用时通过函数名称进行调用,调用函数才是真正执行的行为。
1.定义一个函数fun

function fun(){
    console.log('这是一个函数');
}

2.调用函数

fun();//通过调用函数输出字符串:这是一个函数

函数的参数

函数的参数就相当于在函数中使用的变量(虽然这个比方不是很准确),JavaScript中的函数定义并未制定函数参数的类型,函数调用时也未对传入的参数做任何的类型检查。

  • 形参:出现在函数定义名称括号里的参数列表,函数的形式参数,简称形参,简单来说就是定义函数时使用的参数就是形参
  • 实参:函数调用时实际传入的参数是函数的实际参数,简称实参,简单来说,就是调用函数时使用的参数就是实参
/*一般情况下,形参与实参的个数是相同的,但在JavaScript中并不强求这一点,
在特殊情况下,函数的形参和实参的个数可以不相同*/
//这里定义fun时,num1,和num2就是函数的形参,调用fun时,1和2就是函数的实参
function fun(num1,num2){
    console.log(num1+num2);
}
fun(1,2);//输出 3

return语句

函数还可以包含一个返回语句:return。当然这并不是必须的,return语句使函数可以作为一个值来使用。

function fun(str){
    //return直接把值返回给fn,此时fn接住return返回的值
    return 'hello'+str;
}
//变量fn的值为 你好 web前端
var fn=fun('web前端');

预定义函数

1.eval():对一串字符串形式的JavaScript代码字符求值

var str='console.log("这是一段JavaScript代码")';
/*eval()函数
    作用:将一个字符串类型的JavaScript代码段转换为真正的JavaScript代码,并且执行,
    但是安全问题很大,如果用户自己在程序添加恶意代码,那么同意也会被执行,目前开发
    很少用这个eval()    
*/
eval(str);

2.uneval():创建的一个Object的源代码的字符串表示
3.decodeURI():对已编码的统一资源标识符(URI)进行解码,并返回其非编码形式

var uri="http://www.qianduan.com/web%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91";
var decode=decodeURI(uri);
/*输出结果:http://www.qianduan.com/web前端开发,对后面的编码进行解码成中文*/
console.log(decode);

4.encodeURI():对统一资源标识符(URI)进行编码,并返回编码后的URI字符串

var uri="http://www.qianduan.com/web前端开发";
var encode=encodeURI(uri);
/*输出结果:http://www.qianduan.com/web%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91
对后面中文部分进行编码
*/
console.log(encode);
点赞
收藏
评论区
推荐文章
小嫌 小嫌
3年前
Javascript中的变量提升
定义JavaScript中奇怪的一点是你可以在变量和函数声明之前使用它们。就好像是变量声明和函数声明被提升了代码的顶部一样。sayHi()//Hithere!functionsayHi()console.log('Hithere!')name'JohnDoe'console.log(name)//JohnDoevarn
Wesley13 Wesley13
3年前
java13天
构造函数一个对象的建立,构造函数只运行一次。而一般方法可以被该对象调用多次。personp2newperson();//初始化构造函数p2.p2content();//调用函数的内容,可重复调用构造代码块中定义的是不同对象共性的初始化内容classtest{{System.out.prin
菜园前端 菜园前端
2年前
为你解惑JS作用域和作用域链知识
原文链接:变量作用域一个变量的作用域(scope)是程序源代码中定义这个变量的区域。全局变量拥有全局作用域,在JavaScript代码中的任何地方都是可以访问的。然而在函数内声明的变量只能在函数体内访问,它们是局部变量,作用域是局部性的。函数参数也是局部变
Jacquelyn38 Jacquelyn38
4年前
重学JavaScript第1集|变量提升
变量提升就好比JavaScript引擎用一个很小的代码起重机将所有var声明和function函数声明都举起到所属作用域(所谓作用域,指的是可访问变量和函数的区域)的最高处。这句话的意思是:如果在函数体外定义函数或使用var声明变量。则变量和函数的作用域会提升到整个代码的最高处,此时任何地方访问这个变量和调用这个函数都不会报错;而在函数体内定义函数或使用va
莎利亚 莎利亚
4年前
PHP学习笔记之PHP的函数应用
目录一、函数的定义二、自定义函数三、函数的工作原理和结构化编程四、PHP变量的范围五、声明及应用各种形式的PHP函数六、递归函数七、使用自定义函数库一、函数的定义一个被命名的、独立的代码段,它执行特定的任务,并可能给调用它的程序返回一个值。定义中的各部分如下:函数是被命名的:每个函数都
Stella981 Stella981
3年前
JavaScript之函数
    玩js自然要和函数打交到。函数嘛简单来说就是给代码分个块,方便调用、信息隐藏和代码复用,还可以用于指定对象的行为。另外函数还可以玩出很多花样来。。。JavaScript使用关键字function定义函数。定义一个函数://函数声明//这种定义函数的好处是可以在当前作用域内任何位置调用,因为变量的声明和函数的
Wesley13 Wesley13
3年前
go 的匿名函数和闭包
匿名函数匿名函数是指不需要定义函数名的一种函数实现方式。在Go语言中,函数可以像普通变量一样被传递或使用,这与C语言的回调函数比较类似。不同的是,Go语言支持随时在代码里定义匿名函数。匿名函数由一个不带函数名的函数声明和函数体组成,如下所示:!(https://
Stella981 Stella981
3年前
JavaScript学习总结(3)——JavaScript函数(function)
一、函数基本概念  为完成某一功能的程序指令(语句)的集合,称为函数。二、JavaScript函数的分类  1、自定义函数(我们自己编写的函数),如:functionfunName(){}  2、系统函数(JavaScript自带的函数),如alert函数。三、函数的调用方式
小万哥 小万哥
1年前
Go 语言函数、参数和返回值详解
函数是一组语句,可以在程序中重复使用。函数不会在页面加载时自动执行。函数将通过调用函数来执行。创建函数要创建(通常称为声明)一个函数,请执行以下操作:使用func关键字。指定函数的名称,后跟括号()。最后,在花括号内添加定义函数应执行的代码。语法Gofun
小万哥 小万哥
1年前
C 语言函数:入门指南
C语言中的函数声明和定义您可以通过以下方式创建并调用函数:c//创建一个函数voidmyFunction()printf("我刚被执行了!");intmain()myFunction();//调用函数return0;一个函数包括两个部分:声明:函数名称、返
小万哥 小万哥
1年前
C 语言函数完全指南:创建、调用、参数传递、返回值解析
C语言中的函数函数是一段代码块,只有在被调用时才会运行。您可以将数据(称为参数)传递给函数。函数用于执行某些操作,它们对于重用代码很重要:定义一次代码,并多次使用。预定义函数事实证明,您已经知道什么是函数了例如,main()是一个函数,用于执行代码,pri
代码觅月使
代码觅月使
Lv1
日落君山云起,春到沅湘草木,远思渺难收。
文章
4
粉丝
0
获赞
0