所以我有这两个例子,来自javascript.info:
例1:
var animal = {
eat: function() {
alert( "I'm full" )
this.full = true
}
}
var rabbit = {
jump: function() { /* something */ }
}
rabbit.__proto__ = animal
rabbit.eat()
Run Code Online (Sandbox Code Playgroud)
例2:
function Hamster() { }
Hamster.prototype = {
food: [],
found: function(something) {
this.food.push(something)
}
}
// Create two speedy and lazy hamsters, then feed the first one
speedy = new Hamster()
lazy = new Hamster()
speedy.found("apple")
speedy.found("orange")
alert(speedy.food.length) // 2
alert(lazy.food.length) // 2 (!??)
Run Code Online (Sandbox Code Playgroud)
从示例2开始:当代码到达时 …
我一直试图围绕Object.createECMAScript 5中引入的新方法.
通常,当我想使用继承时,我会这样做:
var Animal = function(name) { this.name = name; }
Animal.prototype.print = function() { console.log(this.name); }
var Dog = function()
{
return Animal.call(this, 'Dog');
}
Dog.prototype = new Animal();
Dog.prototype.bark = function() { console.log('bark'); }
Run Code Online (Sandbox Code Playgroud)
我只是将一个新创建的Animal对象分配给Dog的原型,一切都像魅力:
var dog1 = new Dog();
dog1.print(); // prints 'Dog'
dog1.bark(); // prints 'bark'
dog1.name; //prints 'Dog'
Run Code Online (Sandbox Code Playgroud)
但人们(没有解释)说这Dog.prototype = new Animal();不是继承的工作方式,我应该使用Object.create方法:
Dog.prototype = Object.create(Animal.prototype);
Run Code Online (Sandbox Code Playgroud)
这也有效.
使用的好处是什么,Object.create或者我错过了什么?
更新:有人说这Dog.prototype = Animal.prototype;也可以.所以现在我完全糊涂了
我正在尝试制作基于PowerPoint幻灯片的手势.JavaScript肯定不会在这里工作,因为我希望我的幻灯片工作时,为Windows打开特定的PowerPoint文件(.ppt).
我用谷歌搜索,在Leap Motion论坛上发布了一个问题,但是徒劳无功.我主要担心的是:
我不确定在这里使用什么.是否有一些用于此目的的SDK?简单来说,如何在我们的系统上为PowerPoint文件编写一些自定义代码? Leap Motion应用程序可以使用C#,C++,Python,JavaScript,Java,Objective-C开发
将Leap Motion设备的代码与上面的代码集成.
如果你回答这两点中的任何一点都没关系.对不起,我无法发布任何代码,因为我对系统本身的基于PowerPoint的编程完全不熟悉.
我对任何能让我完成任务的语言(C,C#,C++,Java和Objective-C)持开放态度.有一些信息/代码的sugesstions肯定会有所帮助.
我是一名PHP和JavaScript开发人员.我希望我很清楚,不会被误解.
更新:
我找到了适用于Microsoft Office 2010/2013(C#)的LEAP Motion Controller插件.
c# powerpoint desktop-application visual-studio-2010 leap-motion