资讯专栏INFORMATION COLUMN

聊聊javaScript的函数

cyqian / 2940人阅读

摘要:定义一个函数这是一个函数调用函数通过调用函数输出字符串这是一个函数函数的参数函数的参数就相当于在函数中使用的变量虽然这个比方不是很准确,中的函数定义并未制定函数参数的类型,函数调用时也未对传入的参数做任何的类型检查。

函数

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

定义函数

函数声明方式

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);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96856.html

相关文章

  • 聊聊JavaScript和Scala表达式 Expression

    摘要:接受的第二个和第三个参数类型为,意思是需要传入一个表达式,这个表达式的返回类型是。第行和第行的函数调用,第二个参数位置的表达式和函数都没有即时求值,而是惰性求值。 我们先看下面这段简单的JavaScript代码。 我在第10行调用了函数f,其中传入的第二个和第三个参数都是一个逗号表达式。 函数f的实现,会检查这两个参数的类型,如果是函数,则执行函数调用,再打印其返回值,否则直接打印传入...

    canopus4u 评论0 收藏0
  • 聊聊DOM中很重要一个知识点:事件

    摘要:事件事件就是浏览器告知程序,用户的行为,用户点击了页面中的某个按钮或者用户输入用户名或密码等操作可以称为事件事件的类型事件根据使用的场景不同,可以分为如下几种依赖于设备的输入事件键盘事件和鼠标事件,这些事件都是直接和设备相关的独立于设备的输 事件 事件就是浏览器告知JavaScript程序,用户的行为,用户点击了HTML页面中的某个按钮或者用户输入用户名或密码等操作可以称为事件 事件的...

    church 评论0 收藏0
  • 聊聊javascript中数组使用

    摘要:在中,数组里可以容纳容纳中任何类型的值。方法大全在中数组是可修改的对象,每个数组都有着很多好用的方法,大多数我们日常都会常用。把元素添加到数组的头部。利用使用下标进行操作。对当前数组中的每一项运行给定的函数返回函数结果为的项组成的数组。 杂谈     数组是最简单的内存数据结构,也是js中最常用的类型之一,整理了下我觉得应该了解数组的相关知识。 在js中,数组里可以容纳容纳js中任何...

    zone 评论0 收藏0
  • 聊聊javascript数组

    摘要:数组定义数组数组名称元素元素定义空数组前端定义数组同时添加不同类型的元素构造函数方式数组名称元素,元素数组名称类型,表示数组的长度存在元素的个数用创造出一个空数组的构造函数前端用创造一个空数组的构造函数并添加元素函数方式定义数组名称元素,元 数组 定义数组 1.var 数组名称 = [元素1,元素2,...]; var arr=[];//定义空数组 var arr1=[100,前端,t...

    Towers 评论0 收藏0
  • 简单聊聊模块

    摘要:模块在中,模块只不过是基于函数某些特性的代码组织方式。从中我们可以看到一个比较重要的一点,从函数调用所返回的只有数据属性而没有闭包函数的对象并不是真正的模块。 模块 在 JavaScript 中,模块只不过是基于函数某些特性的代码组织方式。 在《你不知道的 JavaScript》中,给出了模块模式因具备的两个必要条件: 必须有外部的封闭函数,该函数必须至少被调用一次(每次调用都会创建...

    Lyux 评论0 收藏0

发表评论

0条评论

cyqian

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<