函数在整个JavaScript中是最复杂也是最重要的知识:
1.一个函数存在了多面性:
它本身就是一个普通的函数,执行的时候形成私有的作用域(闭包),形参赋值,预解释,代码执行,执行完成后栈内存销毁/不销毁
2.它本身可以作为一个类:它有自己的实例,也有一个叫做prototype属性是自己的原型,它的实例都可以指向自己的原型
3.普通对象:和var obj ={}一样就是一个普通的对象,它作为对象可以有一些自己的私有的属性,也可以通过_proto_找到
Function.prototype
//这三者之间是没有必然关系的
function Fn(){ var num =500; this.x = 100; } Fn.prototype.getX =function(){ console.log(this.x); } Fn.aaa = 1000; var f = new Fn; f.num //->undefined f.aaa //->undefined var res =Fn();// _>FN中的this是window res = undefined Fn.aaa
时间: 2024-10-11 00:11:29