JavaScript的关键字与函数定义
1.函数的定义
使⽤关键字 function 定义函数。
函数可以通过声明定义,也可以是⼀个表达式。
2.函数的使⽤
1.函数声明
function sum1(n1,n2){
return n1+n2;
};
n1,n2为实参。
2.函数表达式,⼜叫函数字⾯量
var sum2=function(n1,n2){
return n1+n2;
};
两者的区别:解析器会先读取函数声明,并使其在执⾏任何代码之前可以访问;⽽函数表达式则必须等到解析器执⾏到它所在的代码⾏才会真正被解释执⾏。javascript全局数组
3.函数构造法,参数必须加引号
var sum3=new Function('n1','n2','return n1+n2');
console.log(sum3(2,3));//5
3.函数的调⽤
⼀、函数调⽤形式
函数调⽤形式是最常见的形式,也是最好理解的形式。所谓函数形式就是⼀般声明函数后直接调⽤即是。例如:
var func = function() {
alert(this);
};
func();
⼆、⽅法调⽤模式
函数调⽤模式很简单,是最基本的调⽤⽅式。但是同样的是函数,将其赋值给⼀个对象的成员以后,就不⼀样了。将函数赋值给对象的成员后,那么这个就不在称为函数,⽽应该叫做⽅法。例如:
// 定义⼀个函数
var func = function() {
alert("我是⼀个函数么?");
};
// 将其赋值给⼀个对象
var o = {};
o.fn = func; // 注意这⾥不要加圆括号
// 调⽤
o.fn();
三、构造器调⽤模式
同样是函数,在单纯的函数模式下,this 表⽰ window;在对象⽅法模式下,this 指的是当前对象。除了这两种情况, 中函数还可以是构造器。将函数作为构造器来使⽤的语法就是在函数调⽤前⾯加上⼀个 new 关键字。如代码:
// 定义⼀个构造函数
var Person = function() {
this.name = "程序员";
this.sayHello = function() {
alert("你好,这⾥是" + this.name);
};
};
// 调⽤构造器,创建对象
var p = new Person();
// 使⽤对象
p.sayHello();
上⾯的案例⾸先创建⼀个构造函数Person,然后使⽤构造函数创建对象p。这⾥使⽤ new 语法。然后在使⽤对象调⽤sayHello()⽅法,这个使⽤构造函数创建对象的案例⽐较简单。从案例可以看到,此时 this 指的是对象本⾝。除了上⾯简单的使⽤以外,函数作为构造器还有⼏个变化,分别为:
1、所有需要由对象使⽤的属性,必须使⽤ this 引导;
2、函数的 return 语句意义被改写,如果返回⾮对象,就返回this。
四、apply调⽤模式
语法:函数名.apply(对象, 参数数组);
总结:中的函数调⽤有四种模式,分别是:函数式、⽅法式、构造器式和 apply 式. ⽽这些模式中,this 的含义分别为:在函数中 this 是全
局对象 window,在⽅法中 this 指当前对象,在构造函数中 this 是被创建的对象,在 apply 模式中 this 可以随意的指定.。在 apply 模式中如
果使⽤ null,就是函数模式,如果使⽤对象,就是⽅法模式。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论