`
hcmfys
  • 浏览: 356332 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

js的constructor callee caller

    博客分类:
  • js
阅读更多
<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>
分享到:
评论

相关推荐

    JavaScript arguments.callee作用及替换方案详解

    4. **ES6的箭头函数**:箭头函数没有自己的`this`、`arguments`、`.call`、`.apply`和`.constructor`等方法,因此它们无法使用`arguments.callee`。在ES6中,通常建议使用`let`或`const`来声明一个内部函数,然后...

    javascript

    3. **`callee`与`caller`属性**:`callee`属性可用于递归调用,而`caller`属性则可以获取调用当前函数的父函数。 4. **`apply`与`call`方法**:用于绑定函数的执行上下文,`call`接受一系列参数,`apply`则接受参数...

    event兼容调用(IE,Firefox,Chrome)

    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....

    javascript类式继承新的尝试

    `subClass.prototype.$supClass`是一个方法,通过`arguments.callee.caller`获取调用它的函数,即父类的构造函数,并使用`apply`调用它,以便在当前上下文中执行。 4. 修复`constructor`属性,将其设置为`subClass`...

    Bmail联系人飞来飞去效果

    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文档

    javascript的官方文档 这些方便实用的信息将帮助您了解 JScript 的各个部分。 在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题(例如对象),则有对该主题...

    微软JavaScript手册

    callee 属性 返回正执行的函数对象,它是指定的函数对象的文本正文。 caller 属性 返回调用当前函数的函数引用。 catch 语句 包含在 try 语句块中的代码发生错误时执行的语句。 ceil 方法 返回大于或等于其数值...

    详解关闭令人抓狂的ESlint 语法检测配置方法

    - "no-caller": 1 - 禁止使用 `arguments.caller` 或 `arguments.callee` - "no-catch-shadow": 2 - 禁止在 `catch` 子句中阴影作用域内的 `catch` 参数 通过自定义这些规则,你可以根据个人喜好和团队规范调整 ...

    详解vue-cli下ESlint 配置说明

    - "no-caller": 1 - 禁止使用 `arguments.caller` 或 `arguments.callee` - "no-class-assign": 2 - 禁止给类赋值 - "no-cond-assign": 2 - 禁止在条件表达式中使用赋值语句 - "no-console": 2 - 禁止使用 `console`...

    JScript 语言参考

    callee 属性 返回正执行的函数对象,它是指定的函数对象的文本正文。 caller 属性 返回调用当前函数的函数引用。 catch 语句 包含在 try 语句块中的代码发生错误时执行的语句。 ceil 方法 返回大于或等于其数值...

    jscriptdeviationsfromes3

    例如,JScript 的 `arguments` 对象可以支持额外的方法,如 `arguments.callee` 和 `arguments.caller`,这在 ES3 中是未定义的。 ##### 5. 全局对象(Global Object): §10.2.1 JScript 的全局对象包含了一系列...

Global site tag (gtag.js) - Google Analytics