Tag: 原型编程

正确地扩展ggplot2?

最近ggplot2的一些简洁的用法已经出现,并且已经发布了部分或完整的解决scheme: ggheat 大括号 position_dynamic ggheat值得注意,因为它只是通过绘制而不是返回对象来打破ggplot隐喻。 花括号的解决scheme是值得注意的,因为没有一个真正符合ggplot2高级概念(例如,你应该指定一个你想要打破的点的范围,然后在别的地方能够指定你想要的范围显示的几何 – 箱子,紫色的牛等)。 ggplot2书 (我将很快下令阅读2个在线章节)似乎是关于使用语法和函数,而不是编写新的或扩展现有的。 我想学习添加一个特定的function或者开发一个新的geom,并且正确地做。 ggplot2可能并不是像grid或基础graphics一样的普通graphics软件包,但是有很多graphics只是现有的ggplot2几何graphics的一个或两个扩展。 当这些情况出现时,我通常可以把足够的东西放在一起做一些事情,但是如果我需要几十次相同的情节呢? 如果其他人喜欢它,并且想要使用它,现在他们每次需要该图时都必须通过相同的过程。 在我看来,正确的解决scheme是添加一个stat_heatplot和geom_heatplot ,或添加一个geom_Tuftebox Tufte箱图等,但我从来没有见过一个实际扩展ggplot2的例子; 只是如何使用它的例子。 有什么资源可以深入挖掘ggplot2并开始扩展它? 我特别感兴趣的是如上所述的在轴上指定范围的高级方法,但对ggplot2打勾的一般知识也是受欢迎的。 如果缺less一个连贯的指导(很less有足够先进的修补,因此在这里可能不存在),如何才能了解内部? 检验来源显然是一种方式,但是起始的function是什么等等。

JavaScript的inheritance:当构造函数有参数

使用纯JavaScript来做inheritance,这是我通常做的: function A() {} A.prototype.run = function () {}; function B() {} B.prototype = new A; B.prototype.constructor = B; 由于没有任何参数传入构造函数,新的A没有什么可抱怨的。 现在,如果构造函数有parameter passing,我还没有想出inheritance的好方法。 例如, function A(x, y) {} A.prototype.run = function () {}; function B(x, y) {} B.prototype = new A; B.prototype.constructor = B; 我可以传递一些任意值,如: B.prototype = new A(null, null); 在某些情况下,我可能需要在A的构造函数中validationx和y。在某些极端情况下,检查x或y时需要抛出错误。 那么B就没有办法使用新的A. 有什么build议么? 谢谢!

Javascript的inheritance:调用超级构造函数或使用原型链?

最近我读了关于MDC中JavaScript调用的使用 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call 下面显示的一个例子,我仍然不明白。 为什么他们这样使用inheritance Prod_dept.prototype = new Product(); 这是必要的吗? 因为有一个对超级构造函数的调用 Prod_dept() 无论如何,这样的 Product.call 这是不是常见的行为? 什么时候使用超级构造函数调用或使用原型链更好? function Product(name, value){ this.name = name; if(value >= 1000) this.value = 999; else this.value = value; } function Prod_dept(name, value, dept){ this.dept = dept; Product.call(this, name, value); } Prod_dept.prototype = new Product(); // since 5 is less than 1000, value […]

基于原型与基于类的inheritance

在JavaScript中,每个对象同时是一个实例和一个类。 要进行inheritance,可以使用任何对象实例作为原型。 在Python,C ++等中,有一些类和实例是独立的概念。 为了做inheritance,你必须使用基类创build一个新的类,然后可以用它来产生派生实例。 为什么JavaScript会朝这个方向发展(基于原型的面向对象)? 基于原型的面向对象的传统的基于类的面向对象的优点(和缺点)是什么?

原型的目的是什么?

可能重复: 了解JavaScript中的原型inheritance 好的,所以我对JS中OOP的想法有点新鲜。 这两个代码片段之间有什么区别: function animal(){ this.name = 'rover'; this.set_name = function(name){ this.name = name; } } function animal(){ this.name = 'rover'; } animal.prototype.set_name = function(name){ this.name = name; } 他们都做同样的事情,有什么区别?

这是什么意思,Javascript是一个基于原型的语言?

Javascript的主要优势之一是据说这是一个基于原型的语言。 但是,这是什么意思,Javascript是基于原型的,为什么这是一个优势?

原型inheritance优于古典?

所以这些年我终于停下脚步,决定正确地学习JavaScript。 语言devise中最令人头疼的元素之一就是inheritance的实现。 有了Ruby的经验,我很高兴看到closures和dynamicinput; 但是对于我的生活来说,无法弄清楚使用其他实例进行inheritance的对象实例有什么好处。

Array.prototype.slice.call()如何工作?

我知道它是用来作为一个真正的数组参数,但我不明白当使用Array.prototype.slice.call(arguments)时会发生什么

JavaScript实例函数与原型函数

可能重复: 在JavaScript中使用'原型'与'这个'? 我对各种JavaScript函数的理解如下: function MyObj() { this.propOne = true; this.publicInstanceFunc = function() { if (propOne) return 'public instance function'; } function privateFunc() { return 'private function only visible inside this constructor'; } } MyObj.prototype.protoFunc = function() { if (this.propOne) return 'prototype function shared amongst all instances of MyObj'; } 这些是正确的吗? 在什么情况下应该把函数放在原型上(比如protoFunc )和构造函数(比如publicInstanceFunc )? 正在使用this正确的方式来访问原型函数内的属性?

总结数组中的属性值的更好方法(使用Angularjs)

这些天我开始与Angularjs(真棒:D)合作,我发现了下一个问题: 我有这样的东西: $scope.traveler = [ { description: 'Senior', Amount: 50}, { description: 'Senior', Amount: 50}, { description: 'Adult', Amount: 75}, { description: 'Child', Amount: 35}, { description: 'Infant', Amount: 25 }, ]; 现在有一个总数量这个数组我正在做这样的事情: $scope.totalAmount = function(){ var total = 0; for (var i = 0; i < $scope.traveler.length; i++) { total = total + $scope.traveler[i].Amount; […]