草庐IT

原型和原型链

全部标签

javascript - 字符串对象与文字 - 修改原型(prototype)?

我想知道为什么向字符串文字的原型(prototype)添加方法似乎有效,但添加属性却不行?我正在研究与thisquestion有关的想法,并具有以下代码:String.prototype._str_index1=0;String.prototype._str_reset=function(){this._str_index1=0;};String.prototype._str_substr=function(len){varret=this.substr(this._str_index1,len);this._str_index1=this._str_index1+len;return

javascript - 原型(prototype)和非原型(prototype)方法?

这个问题在这里已经有了答案:Useof'prototype'vs.'this'inJavaScript?(15个答案)关闭8年前。我想知道,JavaScript中的原型(prototype)方法和非原型(prototype)方法有什么区别?非常感谢任何帮助。

javascript - 为什么在 JS 中用匿名函数包装每个原型(prototype) "class"对象?

查看thisJScode通过DavidFowler他用一个匿名的自执行方法包装每个“类”,他在其中发送jQuery和window。我知道这是一种确保$和window实际上是您期望的全局jQuery和winndow变量的方法。但这不是有点过度保护了吗?您是否应该保护自己免受其他人更改$和window变量的影响-实际上是否有代码可以做到这一点,如果有,为什么?另外,像这样包装所有东西还有其他优势吗? 最佳答案 如果我没记错的话,除了jQuery之外,还有其他一些库使用$. 关于javascr

javascript - 访问原型(prototype)中的 "private"变量

是否可以在JavaScript中创建一个可以在原型(prototype)中访问的私有(private)变量?我尝试了以下obviouslydoesn'twork,因为bar只能从Foo中访问,而不能从原型(prototype)中访问。functionFoo(){varbar='test';}Foo.prototype.baz=function(){console.log(bar);};我知道我也不能使用this.bar='test',因为那样会使thepropertypublic据我所知。如何使bar变量私有(private),但可由原型(prototype)访问?

javascript - 在 TypeScript 中实现接口(interface)原型(prototype)

我已经为我的服务结果创建了一个TypeScript接口(interface)。现在我想为我的两个函数定义一个基本功能。问题是我得到一个错误:Theproperty'ServiceResult'doesnotexistonvalueoftype'Support'.我使用WebStorm进行开发(VS2012让我感到紧张,因为大型项目卡住-等待更好的集成:P)。这是我的做法:moduleSupport{exportinterfaceServiceResultextendsObject{Error?:ServiceError;Check?():void;GetErrorMessage?():

javascript - 在原型(prototype)中使用 css 选择器触发点击事件

我是Prototypejs的新手。我有一个这样的元素,Save&Close我有一个anchor标记选择器,$$('#toolbar-savea')。通过使用此选择器,我如何触发click事件?或者你可以建议的任何其他方式?提前致谢。 最佳答案 $$('#toolbar-savea')[0].click();FIDDLE 关于javascript-在原型(prototype)中使用css选择器触发点击事件,我们在StackOverflow上找到一个类似的问题:

javascript - 为什么对 Array 原型(prototype)的这种更改在我的 jQuery 插件中不起作用?

我已将以下方法添加到Array原型(prototype)中:Array.prototype.foreach=function(func){for(vari=0;i在同一个文件中,在上面的代码之后,我有以下jQuery插件:jQuery.fn.addClassForEvents=function(){varthat=this;arguments.foreach(function(event){that.bind(event[0],function(){that.addClass(event[0]);}).bind(event[1],function(){that.removeClass(

javascript - 值、原型(prototype)和属性的区别

好的!首先,这个问题来自一个在jQuery世界中挖掘得太深(并且可能迷路)的人。在我的研究中,我发现jquery的主要模式是这样的(如果需要,欢迎更正):(function(window,undefined){jQuery=function(arg){//ThejQueryobjectisactuallyjusttheinitconstructor'enhanced'returnnewjQuery.fn.init(arg);},jQuery.fn=jQuery.prototype={constructor:jQuery,init:function(selector,context,ro

构造函数中定义的 Javascript 数组在原型(prototype)中未定义

我对编写OOJS很陌生,但这让我很困惑。所以我设置了新的Call对象,然后定义了我假设为空数组的内容。当我调用AddFieldQueryToArray()时,我得到了UncaughtTypeError:Cannotcallmethod'push'ofundefined关于this.fieldArray.push(field)我真的不知道为什么。我也在构造函数中尝试了this.fieldArray=fieldArray;。functionCall(){varfieldArray=newArray();varqueryArray=newArray();}Call.prototype.Add

javascript - 原型(prototype)链、构造函数、继承

我正在玩javascript原型(prototype)。我是新手,所以我有一个小问题。我正在使用这个article作为指南。我已经定义了一个产品和一本书。Book.prototype.constructor=Book();这个的目的是什么。我想不通。无论有没有它,我都能成功地调用父构造函数。Book.prototype=newProduct;Book.prototype.constructor=Book;//What'sthepurposeofthis这是我的jsFiddlelink 最佳答案 首先,newProduct()创建一个