草庐IT

prototype-scoped

全部标签

javascript - 为什么 boolean 原语不调用原型(prototype) toString()?

假设我有这段代码:Boolean.prototype.toString=functiontoString(){returnthis.valueOf()?'1':'0';};varobject={true:'true',false:'false',1:'1',0:'0'};//"true"-thisdoesn'tworkconsole.log('primitive',object[true]);//"1"-butthesedoconsole.log('primitive.toString()',object[true.toString()]);console.log('instance'

javascript - 如何 "override"原型(prototype)上定义的(get-)属性?

我有一些代码在原型(prototype)上定义了一个getter(但没有setter,如果相关的话)。返回的值在99.99%的情况下是正确的;但是,目标是将属性设置为针对特定对象评估为不同的值。foo={}Object.defineProperty(foo,"bar",{//onlyreturnsodddiesidesget:function(){return(Math.random()*6)|1;}});x=Object.create(foo);x.bar//=>eg.5x.bar=4//byfairdicerollx.bar//nope=>eg.3如何为现有对象x覆盖该属性,使其可

javascript - 在 Controller 中为 AngularJS $scope 对象起别名

无需详细说明原因,我需要在我的Controller中为$scope提供一个别名。我希望用户能够注入(inject)view并使其具有相同的效果,而不是注入(inject)和装饰$scope。根据我对Angular的理解,$scope是由$scopeProvider创建的,它是在Angular应用程序配置时注册的工厂。我假设我需要注册一个viewProvider并将其设置为等于$scopeProvider但我一直没有成功尝试。有什么想法吗?仅供引用:我不是在寻找类似['$scope',function(view){...的东西,理想的解决方案是使用['view',function(Vie

javascript - Object.prototype 的 UserScript 问题

我正在开发一个UserScript,我认为为对象创建2个原型(prototype)函数会节省更多时间。Object.prototype.Count=function(){varsize=0,key;for(keyinthis){if(this.hasOwnProperty(key)){size++;}}returnsize;};Object.prototype.GetEntry=function(index){varsize=0,key;for(keyinthis){if(this.hasOwnProperty(key)){if(size==index)returnthis[key];

javascript - 为什么需要变量名 "$scope"?

我是Javascript的新手(刚刚读完EloquentJavascript这本书),目前正在阅读O'Reilly的AngularJS。让书中的这一小段代码运行起来让我发疯了几个小时,让我陷入了兔子洞,以为我在设置环境的某个地方搞砸了。AngularJS书籍提供的代码与我输入的代码的唯一区别是我在TextController函数的“$scope”中省略了“$”。放回“$”允许代码工作。以下是我最初将其排除在外的原因:哦,'$scope'只是函数的局部变量名。与任何其他编程语言(如Java或C++)一样,因为此参数只是一个局部变量,所以我可以随意命名它,因为传递给函数的任何参数都将按值传

javascript - 方法 Set.prototype.add 在不兼容的接收器上调用 undefined

我根本不明白为什么会出现这个错误。这是我在chrome的控制台上测试的内容:>varmySet;mySet=newSet;mySet.add('foo','bar','baz')//Workedasexpected['bar','baz'].forEach(mySet.add)X->VM1529:1UncaughtTypeError:MethodSet.prototype.addcalledonincompatiblereceiverundefined(…)提前致谢。 最佳答案 在这种情况下,当您将add方法作为回调传递时,它会丢失

javascript - 使用范围 : $scope 时,ngDialog $scope 变量未被 $dialog 中的 ngModel 字段更新

我有一个使用ngDialog.open创建对话框的Controller。我分配scope:$scope并在弹出的$dialog中使用ng-model设置范围变量。但是,这些值未在Controller$scope中设置。ng-click函数能够调用$scope中的函数。有什么我遗漏的吗,我在这里和github上搜索了很多,阅读了文档并使用了项目中github上提供的所有示例。下面的JSFiddles进行了解释。它表明scope:$scope不是.open()的样子。这是一种单向绑定(bind),不会返回到$scope。.openConfrm()似乎具有预期的行为。ngDialog.ope

javascript - 禁用与原型(prototype)观察方法的链接

我想创建一个这样的链接:text并替换行为,以便链接在单击时使用Ajax下载内容。对我来说重要的是不要替换href属性(因此复制链接仍然有效)。一个解决方案是:$('link').onclick=function(){returnfalse;};但我想使用.observe方法。但这不起作用:$('link').observe('click',function(){returnfalse;});(这很符合逻辑)。关于如何实现这一点有什么想法吗?谢谢。 最佳答案 你必须使用事件对象来实现原型(prototype)。$('link').o

javascript - 在 javascript 中,如何在另一个原型(prototype)方法中调用一个原型(prototype)方法?

假设我有一个函数:functiontest(){}test.prototype.method01=function(){//dosomething}test.prototype.method02=function(){//howcanIcallthemethod01?//this.method01()...?//butthechromethroughanerror://UncaughtTypeError:Object#hasnomethod'method01'}编辑:事实上method01是这样的:test.prototype.method02=function(){$('.cpy')

javascript - 脚本中的 Angular Scope

我们可以像下面这样在脚本标签内使用范围内定义的Angular变量吗?HTML代码:alert($scope.user_name);JS代码:functionAngularCtrl($scope){$scope.user_name='John';}我只是得到“$scopeisnotdefined”。有人可以帮我解决我在这里做错的事情吗? 最佳答案 不,你不能。$scope仅定义在Angular内部,即在您的AngularCtrl函数中。有一些方法可以从外部访问Angular范围,但这通常是不好的做法,并且表明您没有正确使用Angula