javascript函数总结

Javascript函数是一等公民,函数是可以单独存在的,不管函数定义在那个函数里面、都是可以被别的对象调用

例如:

function Person(name)

{

    var walk = function()

    {

        alert("我会跑");

    }

}

walk.call(window);

walk函数虽然是属于Person的 但是别的对象还是可以调用这个函数。

定义函数的方法

第一种:

functoion 函数名(p1, p2)

{

    函数执行体;

    return p1 + p2;

}

第二种 //用的比较多

var tt = fuction(p1, p2)

{

    return p1 + p2;

}

第三种

new function(p1,p2, p3......pn)

{

    pn是执行体;

}

重点:每次定义一个js函数的时候就同时产生一个类

----------------------------------------------

使用不使用var的区别:

→如果使用var定义变量,那程序会强制定义个新变量。

→如果没有使用var定义变量,系统会优先在当前上下文中搜索是否存在该变量,只有在该变量不存在的前提前,系统才会重新定义一个新变量。

-----------------------------------------------

javascript是没有方法重载的,是按照最新定义的那方法

-----------------------------------------------

函数调用;

直接调用:

p.walk();

用call()方法调用函数;

函数名.call(调用者, 参数1, 参数2.......);

调用者.函数(参数1, 参数2,....) = 函数名.call(调用者, 参数1,参数2......)

用apply()方法调用

函数名.apply(调用者,arguments)

例如myfun.apply(window, [12, 3, 4]);

时间: 2024-11-05 02:25:04

javascript函数总结的相关文章

ABP展现层——Javascript函数库

ABP展现层——Javascript函数库 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之21.ABP展现层——Javascript函数库 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate ASP.NET Boil

C#实现百度地图附近搜索&调用JavaScript函数

前一篇文章"C#调用百度地图API入门&解决BMap未定义问题"讲述了如何通过C#调用百度API显示地图,并且如何解决BMap未定义的问题.这篇文章主要更加详细的介绍百度地图的一些功能,包括附近搜索.城市搜索.路线规划.添加覆盖物等等. 希望文章对你有所帮助!如果文章中有不足之处,还请海涵~ 百度官方文档:http://developer.baidu.com/map/jsmobile.htm 官方DEMO例:http://developer.baidu.com/map/jsde

JavaScript函数,作用域以及闭包

JavaScript函数,作用域以及闭包 1. 函数 (1). 函数定义:函数使用function关键字定义,它可以用在函数定义表达式或者函数声明定义. a. 函数的两种定义方式: * function functionName() {} * var functionName = function(){} b. 两种函数定义不同之处 1). 声明提前问题 函数声明语句   :声明与函数体一起提前 函数定义表达式 :声明提前,但是函数体不会提前 请看下面图示:绿色线上面实在js初始加载的时候,查看

HTML 学习笔记 JavaScript (函数)

函数是由事件驱动的或者当他被调用时执行的可重复使用的代码块 实例 <!DOCTYPE html> <html> <head> <script> function myFunction() { alert("Hello World!"); } </script> </head> <body> <button onclick="myFunction()">点击这里</b

javascript 函数重载 overloading

函数重载 https://en.wikipedia.org/wiki/Function_overloading In some programming languages, function overloading or method overloading is the ability to create multiple methods of the same name with different implementations. Calls to an overloaded functi

第十篇--------javascript函数-参数

javascript函数的参数:形参,实参 //function 参数 //形参列表 function test(a,b,c,d){ //alert(test.length); //形参个数,4个 //函数的实际参数,内部就是用一个数组去接收函数的实际参数 //arguments 对象,可以访问函数的实际参数 //arguments 对象只能在函数的内部使用 alert(arguments.length); //2个 alert(arguments[0]); //10 alert(argumen

javaScript 函数重载

javaScript函数不支持重载.有时我们想像java.C等语言 一样定义 重载的方法,那么 我们就可以用其他的方式去定义 重载的函数. 当然,实现的方式 有好多种,每个人 可能不同.下面 我贴出我的实现及使用方法 和 大家交流. js 源码: /**  * 函数参数重载方法 overload,对函数参数进行模式匹配.默认的dispatcher支持*和...以及?,"*"表示一个任意类型的参数,"..."表示多个任  *意类型的参数,"?"一般

前端笔试题目总结——应用JavaScript函数递归打印数组到HTML页面上

数组如下: var item=[{ name:'Tom', age:70, child:[{ name:'Jerry', age:50, child:[{ name:'William', age:20 }] }, { name:'Jessi', age:30 }]}]; 输出的HTTML如下: 1 <ol> 2 <li>name:Tom</li> 3 <li>age:70</li> 4 <li>children: 5 <ol&g

2015第37周五javascript函数arguments对象巧用一

Javascript函数的一个巧妙利用:假定action中有一个JSONObject类型的对象data,其值有可能为空,则前台JSP页面的JS代码中想直接通过EL表达式,即${data}的形式访问对象的值,则可能会因为data对象为空导致JS预处理错误,如JSP中有这样的代码,var obj=${data};,则当后台data为null时前台页面会变成var obj=;进而页面报错终止运行.有人想通过类似 var obj=('${data}'==''?{}:${data})来解决,但该代码依旧编

被括号括住的JavaScript函数

在JavaScript经常会看到这样的代码 ( function( $ ){ $( 'body' ).css( { 'background-color': '#ccc' } ); } )( jQuery ); 这里的一个JavaScript函数被一个括号括了起来, 然后后面紧跟着一个括号,这种奇葩的写法在其它如Java.VB.c#.c++.php等流行编程语言中根本见不到.这种写法乍一看是JavaScript特意增加的新奇特性, 其实并不是. 在我们编写任何程序时,时时刻刻在用到与上面代码类似的