JS---认识函数

认识函数:

函数:完成“指定功能”的已经命名的代码段

函数只用调用才能使用,调用:就是通过名称(可以在声明之前也可以在声明之后调用)

定义语法:

通过关键字 function 定义函数

函数也可以通过声明定义,也可以是一个表达式

函数语法-1 function定义:

function function name(arg0,arg1,arg2..argn){
    功能段(1条 多条)
    return 值
}
functon name();

函数语法-2 匿名函数定义(函数表达式):

myfunctiom() // 报错调用无效调用

var  myfunction = function(){

功能段(1条 多条)
    return 值

};

myfunction()

说明:匿名函数此函数没有名称,函数被存放在变量中通过变量名调用函数

调用函数时需注意在函数之前不能调用函数只能在函数之后调用才有效

函数语法-3  Function() 构造函数定义:

var myFunction = new Function("a", "b", "return a * b"); // 只作为了解一般不采纳

var myFunction = function (a, b) {return a * b}

var x = myFunction(4, 3);

函数的结构解析:

1函数名 function name
2参数(arg0,arg1,arg2..argn)根据需要定义参数

括弧:如果括弧里不填参数,函数执行代码过程是固定得 。
            通过添加参数可以动态的改变函数的运行行为。

3函数体  功能段(1条 多条)
4返回值(可选) 退出函数用return ,return之后的内容报错不起作用

通过typeof判断函数类型:

alert( typeof (function name) );//函数类型

函数名不加括号时就代表这个函数加括号就调用了函数

调用函数的方法:

通过函数名来调用函数 functon name( )

在链接中调用函数:javasript :函数名( )

事件中调用函数 :事件类型 = 函数名 ( )

递归调用 :函数体内调用函数 :函数名 ( )

备注:调用一次执行一次函数,function定义函数之前之后都可以调用函数。

2-回调函数:函数作为参数进行传递

回调函数原理:

我现在出发,到了通知你”
这是一个异步的流程,“我出发”这个过程中(函数执行),“你”可以去做任何事,“到了”(函数执行完毕)“通知你”(回调)进行之后的流程回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。

function demo(a,b,fun){
            return a+b+fun();
        }
        alert(demo(1,2,test));

function test ( ) {
            return 100;
        }

声明全局变量 :函数外部定义的变量

生存时间当浏览器结束之后才结束

声明局部变量 :函数内部定义的变量

函数定义作为对象的属性,称之为对象方法。
函数如果用于创建新的对象,称之为对象的构造函数。

未完明天补充

时间: 2024-12-15 18:42:58

JS---认识函数的相关文章

js:深入函数的定义

函数定义方式: 1.function fun1(){alert("fun1");}  //函数就是一个非常特殊的对象,是一个Function的实例,其实在内存中存储的操作是通过一个键值对来存储的. 2.由于函数是一个对象,所以可以通过如下方式定义 var fun2 = fun1;  //通过函数拷贝给fun2完成赋值,但fun1.fun2这两个引用并没有指向同一个对象(虽然他们指向的对象的内容是一样的). fun1 = function(){alert("fun111&quo

对JS中函数的理解

函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能) var fn=function(a){return a+100;} fn=function(a){return a+200;} alert(fn(100)); //300 要访问函数的引用(指针)而不是执行函数时,必须去掉圆括号,加上圆括号表示访问函数执行后的结果 函数体内部的语句在执行时,一旦

js中函数参数值传递和引用传递

js中函数参数值传递和引用传递:在阅读本章节之前建议参阅一下两章节:1.值类型可以参阅javascript的值类型一章节.2.引用类型可以参阅javascript的引用类型一章节.一.函数传递值类型:代码实例如下: function addNum(num) { num+=10; return num; } var num=10; var result=addNum(num); console.log(num); console.log(result); 以上代码的弹出值分别为:10和20,下面进

JS中函数定义的三种格式

第一种:function  fun1(参数1,参数2...){            //通过创建函数名来定义函数 函数体: } 第二种:var fun2=new Function("参数1,参数2...","函数体");         //通过创建变量来定义函数 第三种:function(){                //匿名函数 函数体: } 说明: 1,在调用时,可以为没有参数的函数传递参数:但如果没有传递参数给有参数的函数时,会默认参数为undefi

在js自定义函数中使用$(event.target)代替$(this)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <ti

url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介

url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介 2014年10月12日 16806次浏览 引子 浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器url参数操作的时候,经常会用到encodeURIComponent()和decodeURIComponent()以及encodeURI()等等.关于浏览器参数操作,请看文章http://www.haorooms.com/post/js_url_canshu ,今天主要讲讲e

【js】函数问题

一.函数重载问题: 由于js的函数传入的参数当做arguments对象(和数组类似,但不是Array的实例),传入的参数类型和数量没有限制,没有函数签名,所以如果要实现重载功能 的话,只能是不够完美得实现: function doAdd(num1,num2){ if(arguments.length==1){ console.log(num1+10); } else if (arguments.length==2){ console.log(num1+num2); } } 这里可以通过传入的参数

Js slice函数整理

今天做项目的时候碰到了,随手整理一下备用. ----slice 把元素从数组中筛选出来的函数,slice(开始位置,结束位置) --------------------------一下摘自W3C-------------------------------- start 必需.规定从何处开始选取.如果是负数,那么它规定从数组尾部开始算起的位置.也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推. end 可选.规定从何处结束选取.该参数是数组片断结束处的数组下标.如果没有指定该参数

js字符串函数

JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a.concat(b);alert(c);//c = "hello,world"indexOf返回字符串中一个子串第一处出现的索引(从左到右搜索).如果没有匹配项,返回 -1 .var index1 = a.indexOf("l");//index1 = 2var ind

js 常用函数

document.getElementById("email").setAttribute("属性","属性名");//动态添加ID.class等 document.getElementById("email"). remoAttribute("属性","属性名");//动态删除属性.如ID.Class等 js 常用函数,布布扣,bubuko.com