<script type="text/javascript">
var name ="window method";
function parentClass() {
this.name = "parentClass method";
this.method = function() {
alert(this.name);
}
}
function subClass() {
//var method = this.method;
//this.name ="test";
this.method = function() {
//method.call(this);//如果不用这一步而用下面的就会调用的是window.name;
//method();
alert("subClass method");
}
}
subClass.prototype = new parentClass();
//subClass.prototype.constructor = subClass;
var o = new subClass();
//alert(o.constructor);
o.method();
function ssonClass(){
o.constructor.call(this);
};
var h = new ssonClass();
h.method();
function CallLevel(){
if (CallLevel.caller == null){
return("CallLevel was called from the top level.");
}
else{
return("CallLevel was called by another function.");
}
};
alert(CallLevel());
function test(){
alert(CallLevel());
}
test();
function factorial(n){
if (n <= 0){
return 1;
}
else{
return n * arguments.callee(n - 1);//callee是对函数自身的引用
}
}
alert(factorial(3));
</script>
分享到:
相关推荐
4. **ES6的箭头函数**:箭头函数没有自己的`this`、`arguments`、`.call`、`.apply`和`.constructor`等方法,因此它们无法使用`arguments.callee`。在ES6中,通常建议使用`let`或`const`来声明一个内部函数,然后...
3. **`callee`与`caller`属性**:`callee`属性可用于递归调用,而`caller`属性则可以获取调用当前函数的父函数。 4. **`apply`与`call`方法**:用于绑定函数的执行上下文,`call`接受一系列参数,`apply`则接受参数...
var func = arguments.callee.caller; while (func != null) { var arg0 = func.arguments[0]; if (arg0 && (arg0.constructor == Event || arg0.constructor == MouseEvent)) { return arg0; } func = func....
`subClass.prototype.$supClass`是一个方法,通过`arguments.callee.caller`获取调用它的函数,即父类的构造函数,并使用`apply`调用它,以便在当前上下文中执行。 4. 修复`constructor`属性,将其设置为`subClass`...
var o = arguments.callee.caller; var e; while (o != null) { e = o.arguments[0]; if (e && (e.constructor == Event || e.constructor == MouseEvent)) return e; o = o.caller; } }); } ``` - **事件...
javascript的官方文档 这些方便实用的信息将帮助您了解 JScript 的各个部分。 在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题(例如对象),则有对该主题...
callee 属性 返回正执行的函数对象,它是指定的函数对象的文本正文。 caller 属性 返回调用当前函数的函数引用。 catch 语句 包含在 try 语句块中的代码发生错误时执行的语句。 ceil 方法 返回大于或等于其数值...
- "no-caller": 1 - 禁止使用 `arguments.caller` 或 `arguments.callee` - "no-catch-shadow": 2 - 禁止在 `catch` 子句中阴影作用域内的 `catch` 参数 通过自定义这些规则,你可以根据个人喜好和团队规范调整 ...
- "no-caller": 1 - 禁止使用 `arguments.caller` 或 `arguments.callee` - "no-class-assign": 2 - 禁止给类赋值 - "no-cond-assign": 2 - 禁止在条件表达式中使用赋值语句 - "no-console": 2 - 禁止使用 `console`...
callee 属性 返回正执行的函数对象,它是指定的函数对象的文本正文。 caller 属性 返回调用当前函数的函数引用。 catch 语句 包含在 try 语句块中的代码发生错误时执行的语句。 ceil 方法 返回大于或等于其数值...
例如,JScript 的 `arguments` 对象可以支持额外的方法,如 `arguments.callee` 和 `arguments.caller`,这在 ES3 中是未定义的。 ##### 5. 全局对象(Global Object): §10.2.1 JScript 的全局对象包含了一系列...