大家好 问题少年又来了 这次是关于prototype的

问题描述

在NewsView.js里有这么一行代码NewsView.prototype.gridLand= function() {var data1=[ [1, 'asdasd', 'asdasd'], [2, 'bsvbcv', 'asdwq1'] ]; var store1=new Ext.data.SimpleStore({data:data1,fields:["id","name","mina"]}); var grid1 = new Ext.grid.GridPanel({ id : 'LandGrid', trackMouseOver : true, disableSelection : false, autoScroll : true, loadMask : true, sortable : false, height:150, width:500, columns:[{header:"sawayika",dataIndex:"name"}, {header:"yisilan",dataIndex:"mina"}], store:store1, }); return grid1;};如果把NewsView看做一个类的话,那么gridLand就是这个类得一个方法 这样理解没错吧我在另外一个js文件里是这么调用的var view=new NewsView();alert(view.gridLand()); //alert一下看是不是object报错啊,没有gridLand这个方法好吧换个方式new NewsView().gridLand();new NewsView().gridLand;NewsView().gridLand();NewsView().gridLand;NewsView.gridLand();NewsView.gridLand;gridLand;gridLand();各种组合我都试完了,这tm到底是要闹那样啊亲们,你说怎么拿到这个object? 问题补充:AngelAndAngel 写道

解决方案

你先试试把 return this.getView(); 这个先去掉,然后 NewsView.prototype.gridLand=function(){ alert("hello");}然后var test=new NewsView();test.gridLand()这样试试。
解决方案二:
引用When the [[Construct]] property for a Function object F is called, the following steps are taken: 1.Create a new native ECMAScript object. 2.Set the [[Class]] property of Result(1) to "Object". 3.Get the value of the prototype property of F. 4.If Result(3) is an object, set the [[Prototype]] property of Result(1) to Result(3). 4.If Result(3) is not an object, set the [[Prototype]] property of Result(1) to the original Object prototype object as described in 15.2.3.1. 6.Invoke the [[Call]] property of F, providing Result(1) as the this value and providing the argument list passed into [[Construct]] as the argument values. 7.If Type(Result(6)) is Object then return Result(6). 8.Return Result(1).这段说明来自From the ECMA-262 3rd. Ediion Specification的13.2.2 [[Construct]]这一段描述了当我们使用“new”操作时,javascript产生对象的过程,从第7步和第8步,可以看出,只要当地6步(就是调用构造函数本身)返回的不是一个Object类型时,才会执行到第8步,返回第一步构造的对象,否则直接返回构造函数执行后的结果。所以,从你上面的例子来看,NewsView作为构筑函数,本身返回了一个Object类型的值,所以最终你通过“new”得到的是这个返回值,而不是你期望的。
解决方案三:
因为你new NewsView()的时候其实是调用返回的 return this.getView(); 而getView方法返回的是new Ext.Panel对象,所以就不行了。
解决方案四:
你的“NewsView”定义在哪里呢,贴出来看看。
解决方案五:
引用我在另外一个js文件里是这么调用的 那你包含NewsView的js应该放在上面,另外一个放下面

时间: 2024-10-31 02:26:35

大家好 问题少年又来了 这次是关于prototype的的相关文章

javascript面向对象之Javascript 继承_js面向对象

上几节讲了 JavaScript 面向对象之命名空间 . javascript 面向对象的JavaScript类 . JavaScript 面向对象的之私有成员和公开成员 与 Javascript 面向对象之重载,大家可以先看上面的再继续往下看. 在JavaScript中实现继承可以有多种方法,下面说两种常见的. 一,call 继承,先看代码: 先定义一个"人"类 复制代码 代码如下: //人类 Person=function(){ this.name="草泥马";

少年黑客艾伦与盖茨

在60年代末的西雅图,一群十几岁的孩子每天下午都在湖畔中学外面会合,他们都是这所郊区私立中学的学生.会合后,他们会蹬上自行车,赶往一家叫做"计算机中心公司"(ComputerCenerCorporation,孩子们淘气地将其称为CCubed)的当地公司.尽管公司已经下班,孩子们却刚刚开始上班.他们觉得自己颇像一群夜班工人,每天晚上都干得很晚,一边在公司的DEC计算机上敲敲打打,一边吃着比萨饼,喝着可乐. 这群孩子的领袖是两个不同寻常的学生.他们比所有的同伴对计算机都更为着迷,事实上,同

送货少年爱虚荣私藏80万元手机

(记者 郝涛)17岁的花季少年张某上班第一天,利用给人送货之机,私藏了公司价值80余万元的货物,结果换来了牢狱之灾.昨日,记者从顺义警方获悉,张某已因涉嫌职务侵占被刑事拘留. 7月23日12时,顺义天竺地区一家物流公司经理苏先生报案,公司负责托运的一箱手机被盗,市值人民币80余万元.据苏先生讲,公司刚刚接到一批货物,入库时发现少了一箱货.民警最终将焦点落在送货人员张某身上. 面对监控录像,张某低下了头.张某交代说,他今年6月职高毕业后来到天竺地区物流园工作,看到很多同龄孩子抽好烟.穿名牌,很是羡

少年今晨手术医院微博直播

南方日报讯(记者/陈枫)记者从南方医院获悉,14岁的福州少年黄剑锋将于今天早上7点半接受手术,术后恢复呼吸的可能性仅有5%.该院将在微博直播手术进度. 这两天,南方医院20多名专家已对小剑锋进行了会诊.南方医院副院长.神经外科主任漆松涛将主刀手术.他透露,像小剑锋这样不能自主呼吸的脊索瘤患者是非常罕见的,这次手术难度很大,预计手术需要8小时到10小时,术后小剑锋恢复呼吸的可能性约为5%. 尽管只有5%的机会,但小剑锋的父母都决定"博一博".福建.广东等地的 网友也纷纷在网上留言送上祝福

“戒网瘾实战第一人”悬赏征集网瘾少年

王阳虎来自陕西西安,10年前曾是一名沉迷网络.颓废不堪的"网瘾青年".后来攻读了心理学,并在2005年创办了国内第一家专业戒除网瘾机构,目前已带过2000多名网瘾孩子. 昨日上午,成都磨子桥路口,一名穿梭在人群中的男子高举字牌:"悬赏征集网瘾少年". 这名叫王阳虎的陕西男子,被称为"中国戒除网瘾实战第一人",5年前曾创办国内首家专业戒除网瘾的机构.这次来成都,是征集有严重网瘾问题的少年,现场分析孩子的心理状况和沉迷原因.他在现场"雷语&

马斯克的“半机械人”还没出现,这位日本少年却已经可以让你变身“半机械人”了

童年时做的那些"英雄梦",日本少年创造的"机械外骨骼型机器人"帮你圆梦. "钢铁侠"马斯克要制造"半机械人"了,相信具有"人与机械结合"想法的人不止他一个,每个沉迷于电影.动画中的机器人的人,都曾在生命中的某些时刻,想要撕下那层钢铁盔甲,钻进机器人的身躯里,模仿他们的勇猛战绩,自己当一回真真正正的英雄. 就是这台"机械外骨骼型机器人"令网友直呼"太帅了"!  你的梦想

黑龙江双城青年徒手接住坠楼少年

南有"最美妈妈",北出"最帅小伙"黑龙江双城青年谢尚威徒手接住坠楼少年感动网络 新华网哈尔滨1月31日电("中国网事"记者李建平.强勇)勇气可以传递,英雄再演传奇.徒手接住坠楼孩子的杭州"最美妈妈"吴菊萍的传奇故事日前在黑龙江再演:在一名15岁的少年从5楼坠落的瞬间,一名80后青年跑过去伸出手硬是用自己的身躯挽救回了一条即将陨落的花季生命. 南有"最美妈妈",北出"最帅小伙".目前,这份

少年黑客入侵互联汽车轻而易举,行业敲响警钟

据<福布斯>网站报道,一名14岁的少年黑客轻而易举地侵入了互联汽车(Connected Car),震惊了整个汽车行业.这个男孩用一晚上的时间自己制作了个电路板.第二天,他便轻松地侵入了一辆互联汽车,将车门解锁,远程启动了发动机,让雨刷不停滑动.他还让汽车播放他手机上的音乐,并让车头灯按照音乐节拍闪烁. 这个男孩花了15美元从美国电子产品零售商RadioShack买了一件简单的电子设备,正是在这个小工具的帮助下,他解锁并启动了一辆汽车.但这辆车的生产厂商尚不得而知,但据称是某一著名品牌. 此消息

519断网案告破:少年花28万租81台私服发起攻击

中介交易 SEO诊断 淘宝客 云主机 技术大厅 5月19日晚19点左右,江苏.安徽.浙江.广西.海南.甘肃六省区出现严重网络故障,很多网民在登陆互联网时发现,新浪.搜狐.网易等各大门户网站均不能访问.5月20日,广东省也出现类似故障. 连续两天,国内出现大面积网络故障,这在近年来十分罕见.直到20日晚,市民们才从有关媒体上获悉,江苏.安徽.浙江等6省份互联网出现严重网络故障,是网络"私服"攻击所引起的. 21日,工信部正式发表通报,初步解释此次事故的原因:由于暴风影音(影音播放软件)网