函数声明及调用初解
2017-01-09 18:33
176 查看
什么是函数?函数就是实现某个功能的代码块。执行时调用需要先声明并可以重复使用。
声明方式:1、function fn(){} 2、var fn=function(){};
3、 var fn=function fn1(){}; 4、var fn=new Function(); //fn为自行取的函数名,但同时需要遵循命名规范,对大小写敏感。
调用方式:1、方法调用模式 2、函数调用模式 3、构造器调用模式 4、apply调用模式。
1、方法调用模式 如下:先定义一个对象(a,函数的拥有者),然后在对象的属性(b,c)中定义方法(d,是一个函数)。this对象,拥有
JavaScript 代码。实例中 this 的值为 a 对象。结果弹出
123。
当函数没有被自身的对象调用时, this 的值就会变成全局对象。在 web 浏览器中全局对象是浏览器窗口(window 对象)。
3、构造器调用模式 JavaScript 中函数还可以是构造器。将函数作为构造器来使用的语法就是在函数调用前面加上一个
new 关键字。构造器用于创建特定类型对象——准备好对象以备使用,同时接收构造器可以使用的参数,以在第一次创建对象时,设置成员属性和方法的值。
以上,首先创建一个构造函数 A,然后使用构造函数创建对象p。这里使用 new 语法。然后在使用对象调用saySomething()方法。
4、apply调用模式call() 和 apply() 是预定义的函数方法。
两个方法可用于调用函数,两个方法的第一个参数必须是对象本身。相当与方法调用。
声明方式:1、function fn(){} 2、var fn=function(){};
3、 var fn=function fn1(){}; 4、var fn=new Function(); //fn为自行取的函数名,但同时需要遵循命名规范,对大小写敏感。
调用方式:1、方法调用模式 2、函数调用模式 3、构造器调用模式 4、apply调用模式。
1、方法调用模式 如下:先定义一个对象(a,函数的拥有者),然后在对象的属性(b,c)中定义方法(d,是一个函数)。this对象,拥有
JavaScript 代码。实例中 this 的值为 a 对象。结果弹出
123。
<script type="text/javascript"> var a = { b : 123, c : "aaa", d : function() { alert (this.b); } } a.d(); </script>
当函数没有被自身的对象调用时, this 的值就会变成全局对象。在 web 浏览器中全局对象是浏览器窗口(window 对象)。
<script type="text/javascript"> function fn() { return this; } alert(fn()) ; </script>结果弹出 object Window 2、函数调用模式 如下:先定义一个函数,设置一个变量名保存函数。 弹出 7
var fn = function(a,b) { return a+b; } alert(fn(3,4));
3、构造器调用模式 JavaScript 中函数还可以是构造器。将函数作为构造器来使用的语法就是在函数调用前面加上一个
new 关键字。构造器用于创建特定类型对象——准备好对象以备使用,同时接收构造器可以使用的参数,以在第一次创建对象时,设置成员属性和方法的值。
var A= function() {// 定义一个构造函数 this.name = "123"; this.saySomething = function() { alert("你好" + this.name); }; }; var p = new A();// 调用构造器,创建对象 p.saySomething();
以上,首先创建一个构造函数 A,然后使用构造函数创建对象p。这里使用 new 语法。然后在使用对象调用saySomething()方法。
4、apply调用模式call() 和 apply() 是预定义的函数方法。
两个方法可用于调用函数,两个方法的第一个参数必须是对象本身。相当与方法调用。
// 定义方法 var func = function(one, two) { return one+two; }; // 创建对象 var o = {}; // 给对象添加成员 // apply 模式 Array1 = [1,2]; var p1 = func.apply(o, Array1);// apply传入的是一个参数数组 //console.log(p1);//在控制器日志中显示p1的值为 3 // call 模式 //var p2 = func.call(o,1,2 );
相关文章推荐
- linux查CC***
- app名称国际化
- Redis 命令参考
- 设计模式之单例模式
- centos7怎么用命令解压zip文件夹
- SVN 的简单使用
- hibernate 一对多操作(级联操作)
- 二进制世界建造者 编程格言
- errmsg.sys版本升级报错
- C/C++ OpenCV方框滤波
- 解决Linux下启动Tomcat遇到Neither the JAVA_HOME ...报错
- find命令常见用法与linux定时计划任务
- Servlet技术浅析(九)之-----下载文件和上传文件
- 获取本地文件并显示在tableView中,如同QQ中的文件展示,但是还不能查看内容
- python爬虫基础知识
- 电子商务经营模式
- 小程序想要什么
- 电子商务经营模式
- 电子商务经营模式
- 电子商务经营模式