精华内容
下载资源
问答
  • JS 定义方法的三种方式

    千次阅读 2017-09-01 17:17:12
    JS函数的定义与调用方法 ...先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject  对象。 var blogInfo={  blogId:123,  blogName:"werwr",  

    JS函数的定义与调用方法

    JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式

    1.方法调用模式:

    先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject 
    对象。
    var blogInfo={
      blogId:123,
      blogName:"werwr",
      showBlog:function(){alert(this.blogId);}
    };
    blogInfo.showBlog();

    2.函数调用模式

    定义一个函数,设置一个变量名保存函数,这时this指向到window对象。

    var myfunc = function(a,b){
      return a+b;
    }

    alert(myfunc(3,4));

    3.构造器调用模式

    定义一个函数对象,在对象中定义属性,在其原型对象中定义方法。在使用prototype的方法时,必须实例化该对象才能调用其方法。
    var myfunc = function(a){
      this.a= a;
    };
    myfunc.prototype = {
      show:function(){alert(this.a);}
    }

    var newfunc = new myfunc("123123123");
    newfunc.show();

    4.apply,call调用模式

    var myobject={};
    var sum = function(a,b){
      returna+b;
    };
    var sum2 = sum.call(myobject,10,30); //var sum2 =sum.apply(myobject,[10,30]); 
    alert(sum2);

     

    展开全文
  • 用了很多的Javascript框架,偶尔也会去看一下框架的源码,经常会看到这样的代码。
  • 主要介绍了JavaScript函数定义方法,结合实例形式较为详细的分析了javascript函数的声明、定义、调用等原理与常见操作技巧,需要的朋友可以参考下
  • 看《javascript高级程序设计》有感
  • 定义新对象方法
  • 定义方法第一种方式第二种方式两种方式的区别 第一种方式 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <...

    第一种方式

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    	</head>
    	<body>
    		<script>
    			//第一种方式
    			function test(age){
    				console.log(age);
    			}
    			test(123);
    		</script>
    	</body>
    </html>
    

    结果

    第二种方式

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    	</head>
    	<body>
    		<script>
    			//第一种方式
    			function test(age){
    				console.log(age);
    			}
    			test(123);
    			//第二种方式
    			var print = function(name){
    				console.log(name);
    			}
    			print("Tim");
    		</script>
    	</body>
    </html>
    

    结果

    两种方式的区别

    • 虽然两种方式都可以定义方法,但是这两种方法有一定的区别,主要为第一种方式可以在定义前调用,第二种方式不可以在定义之前调用。
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    	</head>
    	<body>
    		<script>
    			//可以定义前使用
    			function test(age){
    				console.log(age);
    			}
    			test(123);
    			//定义之前使用报错
    			print("Tim");
    			var print = function(name){
    				console.log(name);
    			}
    		</script>
    	</body>
    </html>
    

    第二种方式在定义之前调用回报错
    结果

    展开全文
  • JS如何定义方法及调用

    千次阅读 2019-02-20 16:44:40
    问题: 简单搜索了下,遇到点问题 1,经常在JS中看到如var foo = function(){}的形式 foo是方法名还是对象名,如果想...方法(method)是通过对象调用的javascript函数。也就是说,方法也是函数,只是比较特殊的...

    问题:

    简单搜索了下,遇到点问题
    1,经常在JS中看到如var foo = function(){}的形式
    foo是方法名还是对象名,如果想调用此方法,是用foo(),foo.function(),还是该如何正确调用。除此之外,希望高手帮忙总结下,JS自定义方法和调用的一个大全

     

    回答:

    方法(method)是通过对象调用的javascript函数。也就是说,方法也是函数,只是比较特殊的函数。

    函数(function)是一段代码,需要通过名字来进行调用。它能将一些数据(函数的参数)传递进去进行处理,然后返回一些数据(函数的返回值),也可以不返回数据。

    当将函数和对象和写在一起时,函数(function)就变成了方法(method)。

    为了便于理解方法、函数、对象,我们通过示例来了解一下:

    1、JS中定义函数的格式为:

    var funname =function(参数a,参数b...){具体方法动作};

    或者 function funname(var1,var2){要执行的具体代码}。

    举例,var foo=function(a,b){ return a+b; }

    在上面函数中,foo就是函数名,而不是对象名。

    2、想要调用上式中的函数的话可以直接调用函数名称。

    如:sumA=foo(5,6);

    也就是sumA直接调用了foo()函数,并且为函数传值(5,6),最终结果sumA=11。

    3、你提问中说方法和对象分不清,那我们再来看下如何定义对象,如:

    var foo={

    fooid:10;

    fooname:"对象",

    fooFunc:function(){alert(this.fooname);}

    在上面程序代码中,foo就成了对象名,fooid、fooname都是对象的属性,而fooFunc函数就成了该对象的一个方法。

    如果想要调用该对象下的fooFunc方法的话,可以使用对象名.方法名,即:foo.funFunc();

    对于函数,JS中调用方式有很多,下面就总结介绍一下JS函数调用的四种方法:

    1、通过对象调用方法:

    先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject 对象。

    代码示例:

    var blogInfo={blogId:123,blogName:"werwr",showBlog:function(){alert(this.blogId);}};

    blogInfo.showBlog();

    2、方法(函数)的直接调用模式:

    定义一个函数,设置一个变量名保存函数,这时this指向到window对象。

    代码示例:

    var myfunc = function(a,b){return a+b;}

    alert(myfunc(3,4));

    3、构造器调用模式

    定义一个函数对象,在对象中定义属性,在其原型对象中定义方法。在使用prototype的方法时,必须实例化该对象才能调用其方法。

    代码示例:

    var myfunc = function(a){this.a = a;};

    myfunc.prototype = {show:function(){alert(this.a);}}

    var newfunc = new myfunc("123123123");newfunc.show();

    4、apply,call调用方法:

    代码示例:

    var myobject={};

    var sum = function(a,b){return a+b;};

    var sum2 = sum.call(myobject,10,30); //var sum2 = sum.apply(myobject,[10,30]); alert(sum2);

    扩展资料:

    在项目开发过程中,也许你会遇这样的情况:

    在某一Js文件中需要完成某一功能,但这一功能的大部分代码在另外一个Js文件中已经完成了,自己只需要调用这个方法再加上几句代码就可以实现所需的功能。

    例如有这样一个html,里面有一个按钮,当按下时调用b.js文件中的方法b()。而b()中又要调用a.js文件中的方法a()。若要实现这个功能,必须注意,将要引入的Js文件代码放在</body>下面。

    首先,我们在html中引入b.js,并在</body>之后加入引用语句。如下:

          

     

    b.js文件如下:

     

    在b.js文件中前4行代码中我们引入了a.js文件,并在第7行代码中调用了a.js代码中的a()方法。

    让我们来分析一下关键的几句代码:首先,我们利用document.createElement("script")生成了一个script的标签,设置其type属性为text/javascript,src为a.js(这里的a.js同b.js放在同一个目录,也可放在不同的目录)。

    最后将这个标签动态地加入body中。如此一来,我们就可以调用到不同js文件中的方法了。

    展开全文
  • JavaScript中函数的三种定义方法

    万次阅读 2017-04-03 11:51:10
    函数的三种定义方法分别是:函数定义语句、函数直接量表达式和Function()构造函数的方法。下面依次介绍这几种方法具体怎么实现。 1. 函数定义语句 //求和函数 function sum(a,b){ return a+b; }这是最典型的函数...

    JavaScript中函数定义的三种方法。

    函数的三种定义方法分别是:函数定义语句、函数直接量表达式和Function()构造函数的方法。下面依次介绍这几种方法具体怎么实现。

    1. 函数定义语句

    //求和函数
    function sum(a,b){
    	return a+b;
    }
    这是最典型的函数声明,以关键字function开始,其后跟随函数名称标识符、一对圆括号(包含由0个或多个逗号隔开的参数名称)和一对花括号(包含0条或多条JS语句,构成函数体)。这种函数定义方式需要显式的指定函数名称,在代码执行前就被解释器加载到作用域中,这个特性可以让我们在函数定义之前就调用该函数。我们可以通过代码来验证这一点。

    console.log(sum);        //控制台输出sum函数的源代码,此时函数还未定义
    function sum(a,b){
    	return a+b;
    }
    console.log(sum(2,3));   //5

    既然提到函数声明,就要提到函数的作用域。函数作用域是指在函数内声明的所有变量在函数体内始终是可见的,这意味着,变量在声明之前已经可用。这个特性可以被称为声明提前,即在函数体内声明的所有变量,在声明之前已经有定义,但只有在执行到这个变量时才会被真正赋值。从以代码可以清晰地看到这一点

    var scope = "global";
    function f(){
      console.log(scope);         //输出“undefined”,而不是“global”
      var scope = "local";          //变量在这里赋初始值,但变量本身在函数体内任何地方均是有定义的
      console.log(scope);         //输出“local”
    }
    f();
    以上代码等价于

    var scope = "global";
    function f() {
      var scope;                //在函数顶部声明了局部变量,即声明提前
      console.log(scope);         //变量存在,输出“undefined”,而不是“global”
      var scope = "local";       //变量在这里赋初始值  
    console.log(scope);         //输出“local”
    }
    f();


    2. 函数直接量表达式

    //求阶乘的函数
    var factorial = function fact(x){   //将函数赋值给一个变量
    	if(x<0) {return NaN;}
    	else if(x===0) {return 1;}
    	else
    	return x*fact(x-1);     //递归函数
    };
    console.log(factorial(3));      //6
    

    与函数定义语句一样,函数直接量表达式也是用到了关键字function。一般这种定义方式适用于将它作为一个大的表达式的一部分,比如在赋值和调用过程中定义函数。通过函数直接量生成的函数,函数名称可以省略,此时就是一个匿名函数。如下例所示:这样可以使代码更为紧凑。函数定义表达式特别适合用来定义那些只会用到一次的函数。

    var f=function(x){    //省略函数名的匿名函数
      return x*x;
    }
    


    与函数定义语句不同的是,函数直接量表达式是在执行到代码时才加载函数的,我们可以用下面的代码来说明。

    console.log(f);        //控制台输出undefined,此时函数f还未加载
    var f=function(x){     //开始加载函数
      return x*x;
    }
    console.log(f);       //控制台输出函数的源代码
    


    3. Function()构造函数

    var f = new Function("x","y","return x+y");  //Function()构造函数
    var f = function(x,y){return x+y};  //这两条代码是等价的
    

    Function()构造函数可以传入任意数量的字符串实参,最后一个实参所表示的文本是函数体,可以包含任意数量的JavaScript语句。如果构造的函数不包含任何参数,则只需传入一个函数体即可。与前两者方式不同的是,Function()构造函数允许JavaScript在运行时动态地创建并翻译函数。每次调用Function()构造函数都会解析函数体,并创建新的函数对象。因而,在循环或多次调用的函数中执行这个构造函数,执行效率会受影响。相比之下,循环中的嵌套函数和函数定义表达式则不会每次执行时都重新编译。

    Function()构造函数还有值得注意的一点就是它所创建的函数并不是使用词法作用域,函数体代码的编译总在顶层函数执行。如下代码所示:

    var a = 3;     //在顶层函数中声明变量a
    function f(){
    	var a = 2;   //在函数体内声明局部变量a
    	return new Function("return a*a;");   //无法捕获局部作用域
    }
    console.log(f()());     //控制台输出9而非4,说明构造函数的编译在顶层函数执行
    

    我们可以将Function()构造函数认为是在全局作用域中执行的eval()。在实际编程中,Function()构造函数很少用到,前两中定义方法使用比较普遍。








    展开全文
  • javascript 定义变量之变量名为name以及定义方法名为click 身为菜鸟的我最近写js代码,定义变量把变量名写为name出现问题: - 问题代码: &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html lang=&...
  • 主要介绍了JavaScript定义全局对象的方法,结合实例形式分析了javascript全局对象的简单定义流程与实现技巧,需要的朋友可以参考下
  • JS中函数的两种定义方法

    千次阅读 2018-11-09 17:22:08
    JavaScript中,定义函数的方式如下: function abs(x) { if (x &gt;= 0) { return x; } else { return -x; } } 上述abs()函数的定义如下: function指出这是一个函数定义; abs是函数的名称; (x)...
  • 主要介绍了JavaScript定义函数的三种实现方法的相关资料,希望通过本文大家能够掌握三种定义函数的方法,需要的朋友可以参考下
  • JavaScript中的函数类似于Java中的方法,是执行特定功能的语句块,定义函数的方式有两种: 两种函数定义方式区别:第一种称为定义式,第二种称为变量...function test(age){ //先定义方法,再调用 console.log(...
  • 主要介绍了js定义类的方法,结合实例形式分析了javascript ES5与ES6标准下类的定义方法,需要的朋友可以参考下
  • 本文实例讲述了JavaScript定义类和对象的方法。分享给大家供大家参考。具体方法如下: 在JS中,类和对象有多种不同的写法,因为本人对JS也不怎么熟,所以就本人的理解来写,如果哪位朋友发现有不对,请告之,共同...
  • JS函数三种定义方法

    千次阅读 2019-09-03 07:49:24
    1、函数关键字function function myFunction(x){ alert(x) } ...上面这三种方法定义了相同的同一个函数,第一种是最常用的,后两种是将函数赋值给变量myFuction, 而这个函数是没有名字的,即匿名函数
  • 我们看看JavaScript定义类的各种方法。 1.工厂方式 javaScript中创建自己的类和对象,我们应该是必须掌握的,我们都知道javaScript中对象的属性可以在对象创建后动态定义,比如下面的代码:
  • 构造器函数中, this 导至每个对象中都有此方法体存在,占内存较多. 而外部,protoytype 只存在一个方法体复本.
  • 主要介绍了JS定义网页表单提交(submit)的方法,实例分析了javascript实现表单提交执行自定义函数的方法,具有一定参考借鉴价值,需要的朋友可以参考下
  • 两个定义都可以,不过后者对FF貌似好一些,前者在FF下可能出现missing before formal parameters错误,导致js无法执行。
  • 主要介绍了JS定义函数的几种常用方法,结合实例形式总结分析了javascript函数表达式、Lambda 表达式、对象方法等常见函数定义操作技巧,需要的朋友可以参考下
  • 主要介绍了JavaScript JMap类定义与使用方法,涉及javascript类的定义、内部变量、函数的定义及使用相关操作技巧,需要的朋友可以参考下
  • javascript中经常出现一些function参数是一个方法 1.参数为方法名 e.g : //写一个方法 function fun(){ alert('fun方法被执行'); } this.hello('fun'); hello的实现: /* * 参数 ...
  • js函数的多种定义方法与区别

    千次阅读 2016-10-25 09:54:10
    定义一个函数一般有如下三种方式:1.函数关键字(function)语句:function fnMethodName(x){ alert(x);}2.函数字面量(Function Literals):var fnMethodName = function(x){alert(x);}3.Function()构造函数:var ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 776,175
精华内容 310,470
关键字:

js定义方法