JavaScript 笔记2
JavaScript 特殊关键字
arguments
argements.callee
用于匿名函数递归调用本身
function makeFactorialFunc() { //alert("making a factorial function"); return function(x) { if(x<=1) return 1; return x*arguments.callee(x-1); } }
alert(makeFactorialFunc()(5));//120
function
function.caller属性
用于返回调用函数的函数。
function.apply方法
Syntax: var result = fun.apply(thisArg[,argsArray);
应用某一对象的一个方法,用另一个对象替代当前对象。
prototype
var Class = {
create:function(){
return function(){
this.initialize.apply(this,arguments);
}
}
}
该对象仅包含一个方法:create,其中一个函数,即类。
var vehicle = Class.create();
vehicle.prototype = {
initialize:function(type){
this.type = type;
}
showSelf:function(){
alert(“this vehicle is ” + this.type);
}
}
var moto = new vehicle(“Moto”);
moto.showSelf();
function.call方法
syntax: var result = fun.call(thisArg[,arg1[,arg2[,…]]]);