JavaScript中的函数总结

1、在Javascript定义一个函数一般有如下方式:

// 函数关键字(function)语句:

function fun(x){alert(x);}
// 函数字面量(Function Literals):
var fun = function(x){alert(x);}

//Function()构造函数:
var fun = new Function('x','alert(x);')

2、回调函数:不接受本地调用,接受外来的异地调用,比如浏览器之类的调用,让浏览器有一个访问脚本的渠道。响应外界事物需要数个函数相互调用,即浏览器调用回调函数,回调函数再调用本地的一般函数。
(psuedocode 伪代码 )

3、构造函数
构造函数的大部分工作就是创建对象的特性,还有对象的初始值。创建特性时,用到js关键字this,this指派对象特性的所有权,同时设置特征的初始值。
4、函数字面量:当函数主体单独出现没有名称时,就是函数字面量。
利用函数字面量,排序变得简单。
5、事件处理器:一个函数就是一个事件处理器,
6、动态函数:动态函数的语法是 (/这里填动态函数内容/)()。例:

(function(){
alert("this is a dynamic function");})
();

7、静态函数:var BaseClass = function(){ this.f1 = function(){ alert(‘This is a static method’); } }
8、new关键字:new关键字是用来申请内存的,可以创建一个新对象。如果不使用new关键字,那就是函数调用。
9、this最终指向的是调用它的对象。

// 以下函数定义的实质是window.Foo = function{}
var Foo = function(){
  this.A = 1;
  this.B = 2;
};

Foo(); // 将会对`window`对象添加两个属性A和B。因为此时this指向的内存是`window`

在一个函数中,this总是指向当前函数的所有者对象,this总是在运行时才能确定其具体的指向, 也才能知道它的调用对象。

  • 调用形式 - this指向
  • 普通函数 - 全局对象window
  • 对象的方法 - 该对象
  • 构造函数 - 新构造的对象
    10、 函数名称也被称为函数引用,函数引用只会单独出现,
    函数调用则必定后随括号,很多时候还附有自变量。
    11、函数的存储:
    函数不像一般变量,
    变量将其数据存储成存储器的每个区域里的值;
    函数则存储对代码的引用,所以函数变量的值不是代码本身,而是指向存储代码的存储器位置的引用()。当你指派函数给事件处理器时,其实只是指派对函数代码的引用,而不是代码本身。
    函数引用使html与js分离成为可能,让代码更清晰。
    函数名就是一个函数引用(指针),函数体就是这个指针所指向的地方,可以将这个函数赋值给很多个不同名字的变量,
    12、闭包:是一个函数中包含另一个函数
    13、返回值return:
    放在函数中的任何位置,表示马上就能从函数中离开,回到调用这个函数的程序代码位置,将返回的数据给到调用函数的程序代码。return能提供选择,包括返回数据与控制函数流程。
    break:立即结束循环,跳过任何剩余循环代码。
    continue:跳出当前这轮循环,前往执行下一轮。
函数的几个作用:

1、作为一个类构造器使用:

function class(){}
class.prototype={};
var item=new class();

2、作为闭包使用:

(function(){
//独立作用域
})();

3、作为构造函数调用
所谓构造函数,就是通过这个函数生成一个新对象(object)。

function test(){
            this.x = 10;
        }

        var obj = new test();
        alert(obj.x); //弹出 10;

可以使用 new 运算符结合像 Object()、Date() 和 Function() 这样的预定义的构造函数来创建对象并对其初始化。面向对象的编程其强有力的特征是定义自定义构造函数以创建脚本中使用的自定义对象的能力。创建了自定义的构造函数,这样就可以创建具有已定义属性的对象。下面是自定义函数的示例(注意 this 关键字的使用)。

function Circle (xPoint, yPoint, radius) {
    this.x = xPoint;  // 圆心的 x 坐标。
    this.y = yPoint;  // 圆心的 y 坐标。
    this.r = radius;  // 圆的半径。
}

调用 Circle 构造函数时,给出圆心点的值和圆的半径(所有这些元素是完全定义一个独特的圆对象所必需的)。结束时 Circle 对象包含三个属性。var aCircle = new Circle(5, 11, 99);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值