相关疑难解决方法(0)

原型继承 - 写作

所以我有这两个例子,来自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开始:当代码到达时 …

javascript inheritance prototype

130
推荐指数
2
解决办法
1万
查看次数

使用`Object.create`进行继承的好处

我一直试图围绕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;也可以.所以现在我完全糊涂了

javascript

52
推荐指数
4
解决办法
4779
查看次数

使用跳跃动作为PowerPoint编写自定义代码?

我正在尝试制作基于PowerPoint幻灯片的手势.JavaScript肯定不会在这里工作,因为我希望我的幻灯片工作时,为Windows打开特定的PowerPoint文件(.ppt).

我用谷歌搜索,在Leap Motion论坛上发布了一个问题,但是徒劳无功.我主要担心的是:

  1. 我不确定在这里使用什么.是否有一些用于此目的的SDK?简单来说,如何在我们的系统上为PowerPoint文件编写一些自定义代码? Leap Motion应用程序可以使用C#,C++,Python,JavaScript,Java,Objective-C开发

  2. 将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

10
推荐指数
2
解决办法
3872
查看次数