关于js的原型的一点问题,求指教 (1)“这句话表明在fTest.prototype中有一个变量为name,然后oTest1和oTest2全部指向他”这句话说的不太恰当,应该是“fTest.prototype中有一个叫name的属性,属性值为hello,且该属性被对象oTest1和oTest2共享”;(2)oTest1中肯定会有name属性啊,你自己不都说了“我的理解是两个共有的一个属性”。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 嗯。当然提问急了,没写全,其实问题就是现在上面的代码运行的时候,测试oTest1.hasOwnProperty("name");返回的是false,就是说这个name属性是在fTest.prototype,而不再实例中的,然后我再调用了setname方法之后,再测试这个oTest1.hasOwnProperty("name");这个时候他返回的是true,就是在实例中有了一个name的属性,我其实问的就是是不是这个setname的方法给实例添加了name属性,? 嗯。当然提问急了,没写全,其实问题就是现在上面的代码运行的时候,测试oTest1.hasOwnProperty("name");返回的是false,就是说这个name属性是在fTest.prototype,而不再实例中的,然后我再调用了setname方法之后,再测试这个oTest1.hasOwnProperty("name");这个时候他返回的是true,就是在实例中有了一个name的属性,我其实问的就是是不是这个setname的方法给实例添加了name属性,?对的~settime里面那不是都写着吗---“this.name = name”,this指向的就是实例化对象。 这句话有问题:fTest.prototype.getname = function(){ console.log(this.name);};因为调用的时候是这样调用的:oTest1.setname("dummy");setname是一个函数对象,函数体直到执行的时候,this 才会确定,而且总是等于调用该函数的对象,就是点号前面的第一个值(如果window.myObject.func(),那么也是指向直接调用func的myObject而不是window).虽然js内部的搜索策略回去找 prototype 的 setname, 但显式调用时用的是 oTest1,这就决定你的 this 会指向 oTest1. js 关于select的问题,在线等待解答,急 求一个正则(jquery) 这种写法没见过,和以前的Jquery冲突 可以在img里画线呀 JS里获取参数的问题 如何在scrip中解析jsp的数组 JavaScript中有什么方法可以将字符串进行URL编码??? 如何用dhtml、javascript实现excel的功能:纵坐标和横坐标的标题栏固定在一个地方,而纵横坐标的内容可以随滚动条的滚动而滚动? 将form元素定义成自己的样子,比如说把按钮的底色弄成绿色的,如何? 关于作用域链的一个小问题 都说浏览器javascript引擎只是一个单线程操作。。。
对的~
settime里面那不是都写着吗---“this.name = name”,this指向的就是实例化对象。
fTest.prototype.getname = function(){
console.log(this.name);
};
因为调用的时候是这样调用的:
oTest1.setname("dummy");
setname是一个函数对象,函数体直到执行的时候,this 才会确定,而且总是等于调用该函数的对象,就是点号前面的第一个值(如果window.myObject.func(),那么也是指向直接调用func的myObject而不是window).
虽然js内部的搜索策略回去找 prototype 的 setname, 但显式调用时用的是 oTest1,这就决定你的 this 会指向 oTest1.