函数在创建的时候会带有一个prototype属性
该函数的prototype属性值指向的是当前函数本身么?
该函数的prototype属性值是当前函数的对象?如果是的话
var a = function(){
alert(typeof this.prototype);//undefined 为何不是object
};
该函数的prototype属性值指向的是当前函数本身么?
该函数的prototype属性值是当前函数的对象?如果是的话
var a = function(){
alert(typeof this.prototype);//undefined 为何不是object
};
解决方案 »
- 关于一个附件上传的问题(用的是jquery ajaxupload)的返回值问题
- getElementById参数不能是变量 ?????
- 不知道该怎么提问?
- 类似根据下拉菜单的值判断级联的问题?求高手帮忙
- 有人做过widget吗?
- js动态删除行
- form表单提交后的页面如何阻止弹出窗口?谢谢
- 问一个用 JavaScript 与 DIV 来做菜单的问题
- 在线编辑器,如何取得其内容?
- :急救:如何将阿拉伯数字转换成中文大写,如:'1228008.98' 转换为 '壹佰贰拾贰万扒仟零扒圆玖角扒分'各位大虾给看看,一定给分!! 之继续
- 这滚动的代码跟JS冲突了
- 请问大家这个网站的导航 颜色变化时如何实现的?
alert(this);
alert(typeof this.prototype);//undefined 为何不是object
};
a();
alert(window.prototype);
alert(a.prototype);希望你能理解this
楼主神速~!多谢解答
还有个以为如果:有点小迷惑
var a = function(){
alert(this);//指向windows
alert(typeof a.prototype);//object 返回的是当前函数对象
};
this不是指向调用该函数的对象吗?
a只是函数的名。而非调用者啊
比如我们在全局环境下创建了一个函数:var Demo=function(){}; //定义Demo函数此处我们定义叫做Demo的函数,那么这个是后他的prototype属性也被定义了,默认的情况下他是JavaScript内置类Object的一个实例,我们可以这样来验证它://(true)判断Demo.prototype 是不是Object的一个实例;
alert(Demo.prototype instanceof Object); //true有实验我们可以得出函数的prototype属性默认情况下指向的是Object类的一个实例;
继续刚才的函数Demo此处我们虽然定义的是一个函数,但是同时我们也定义了一个JavaScript的类,因为我们也可以这样使用Demo:var objDemo=new Demo();
alert(typeof objDemo.toString);//function我们声明了Demo的一个实例名字为:objDemo,我并没有为他定义任何的成员,但是当我执行:alert(typeof objDemo.toString);//function却显示“function”而不是“undefined”,说明objDemo有这个方法;但是它是从哪里来的呢?答案是从Demo的prototype属性中继承的;
这时你可能会有所启发,那么我们演示一下在JavaScript中的继承吧://定义父类;
var father=function()
{
this.name="father";
};//定义子类;
var son=function(){};//改变子类的原型(根)为父类的一个实例(原本是Object的实例);
son.prototype=new father();//声明了子类的一个实例;
var sonDemo=new son();//显示从父类中继承的name属性;
alert(sonDemo.name); //father
那么接下来sonDemo是否任然有toString的方法呢,为什么(留给你来思考)?
由于this的讲解需要另外的一个篇幅这里先回答你的prototype问题;希望对你有帮助!