博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用一段代码去了解函数的结构
阅读量:4705 次
发布时间:2019-06-10

本文共 1559 字,大约阅读时间需要 5 分钟。

1,关于构造函数:当我们要声明一个函数的时候,函数本身就是一个对象,在这个对象上可以定义自身属性及方法,这些属性属于静态方法,属性;此时的函数对象是由Function构造函数构建的,Function可定义原型,Function.prototype,在此原型对象定义的方法,属性,在function声明称的函数可访问;function fn()声明的函数对象,自带原型对象,可在fn.prototype定义方法,属性

2,实例化的构造函数: 通过new fn()实例化的函数类型对象,自身拥有执行上下文this,通过__proto__内部属性可访问构造函数的prototype,同时拥有此构造函数的变量对象,即作用域及链条

 

console.dir(Function.__proto__);    console.dir(Function.__proto__.__proto__) //object    console.dir(Function.__proto__.__proto__.__proto__); //null    //用于构造函数的构造函数的静态方法    Function.FunctionStaticMethod = function() {        console.log("I am static");    };    //用于构造函数的构造函数的原型    Function.prototype.FunctionPrototypeMethod = function() {        console.log("Function Prototype Method");    }    function fn() {        var variable = "i am variable"        this.selfName = " is fn attribute";        this.selfSay = function() {            console.log(this.selfName);            console.log(variable);        }    }    //静态属性    fn.staticName = "I am static";    fn.staticMethod = function() {        console.log(this.staticName);    }    //函数原型    fn.prototype.fnPrototypeName = "I am prototype";    fn.prototype.fnPrototypeFn = function() {        console.log(this.selfName);    }    var fnObj = new fn();    //new fn自身方法    fnObj.selfSay();    //new fn原型方法    fnObj.fnPrototypeFn();    //fn的静态方法    fn.staticMethod();    console.dir(fn);    console.dir(fnObj);    for (var attr in fnObj) {        console.log(attr);    }    for (var fnAttr in fn) {        console.log(fnAttr);    }

 执行结果:

转载于:https://www.cnblogs.com/liangsongbai/p/5853270.html

你可能感兴趣的文章
[解题报告] 100 - The 3n + 1 problem
查看>>
Entity Framework 学习高级篇1—改善EF代码的方法(上)
查看>>
Mybatis逆向工程配置文件详细介绍(转)
查看>>
String类的深入学习与理解
查看>>
不把DB放进容器的理由
查看>>
OnePage收集
查看>>
Java parseInt()方法
查看>>
yahoo的30条优化规则
查看>>
[CCF2015.09]题解
查看>>
[NYIST15]括号匹配(二)(区间dp)
查看>>
json_value.cpp : fatal error C1083: 无法打开编译器生成的文件:No such file or directory
查看>>
洛谷 P1101 单词方阵
查看>>
Swift DispatchQueue
查看>>
C#和JAVA 访问修饰符
查看>>
小甲鱼OD学习第1讲
查看>>
HDU-1085 Holding Bin-Laden Captive-母函数
查看>>
php提示undefined index的几种解决方法
查看>>
LRJ
查看>>
Struts2环境搭建
查看>>
Linux: Check version info
查看>>