小编Luc*_*ney的帖子

JavaScript扩展类

我有一个基类:

function Monster() {
  this.health = 100;
}

Monster.prototype.growl = function() {
  console.log("Grr!");
}
Run Code Online (Sandbox Code Playgroud)

我想扩展并创建另一个类:

function Monkey extends Monster() {
  this.bananaCount = 5;
}

Monkey.prototype.eatBanana {
  this.bananaCount--;
  this.health++; //Accessing variable from parent class monster
  this.growl();  //Accessing function from parent class monster
}
Run Code Online (Sandbox Code Playgroud)

我做了很多研究,似乎有很多复杂的解决方案在JavaScript中这样做.在JS中实现这一目标的最简单,最可靠的方法是什么?

javascript oop inheritance object ecmascript-6

71
推荐指数
4
解决办法
9万
查看次数

htaccess重定向Angular路由

我有几个路线的角度应用,例如:

site.com/
site.com/page
site.com/page/4
Run Code Online (Sandbox Code Playgroud)

使用angular的html5路由模式,当您从应用程序中单击指向它们的链接时,这些解析正确,但当您进行硬刷新时,当然会出现404错误.为了解决这个问题,我尝试了一个基本的htaccess重写.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_METHOD} !OPTIONS
RewriteRule ^(.*)$ index.html [L]
Run Code Online (Sandbox Code Playgroud)

这适用于角度请求,但是当我尝试在我的域中加载脚本或进行ajax调用时,例如:

<script src="/app/programs/script.js"></script>
Run Code Online (Sandbox Code Playgroud)

这个脚本没有加载 - 它的请求被重定向,它试图加载index.html页面,因为.htaccess认为它应该重新路由请求 - 不知道这个文件确实存在,它应该加载文件而不是重定向.

有没有什么方法可以让htaccess将请求重定向到index.html(带有视图参数),只有当它没有应解析的实际文件时?

.htaccess redirect routing web-applications angularjs

64
推荐指数
5
解决办法
7万
查看次数

PHP需要顶级目录中的文件

我的根站点上方的目录中包含多个子域,根目录中有一个assets文件夹.例如:

/
/assets/
/forums/
/blog/
Run Code Online (Sandbox Code Playgroud)

我正在尝试在根目录和子目录中的php页面上的require()文件,例如,assets/include/form.php在根目录中的index.php和index.php中都是required()论坛目录.但是,在form.php中,是另一个要求,试图获取include目录中包含的另一个文件.

我似乎无法找到一种方法来在这个form.php中要求一个文件,它可以在根目录的index.php和论坛目录的index.php上工作.

有没有什么办法可以明确要求从根目录开始的文件?

php directory require include

19
推荐指数
1
解决办法
5万
查看次数

通过JS重叠播放音频

我有一个基于画布的游戏的以下JS代码.

var EXPLOSION = "sounds/explosion.wav";

function playSound(str, vol) {
  var snd = new Audio();
  snd.src = str;
  snd.volume = vol;
  snd.play();
}

function createExplosion() {
  playSound(EXPLOSION, 0.5);
}
Run Code Online (Sandbox Code Playgroud)

这是有效的,但每次调用时它都会发送一个服务器请求来下载声音文件.或者,如果我事先声明了Audio对象:

var snd = new Audio();
snd.src = EXPLOSION;
snd.volume = 0.5;

function createExplosion() {
  snd.play();
}
Run Code Online (Sandbox Code Playgroud)

这可行,但是如果在声音播放完毕之前调用createExplosion函数,它根本不播放声音.这意味着一次只允许声音文件的单个播放 - 并且在发生多次爆炸的情况下它根本不起作用.

有没有办法正确播放多次与自身重叠的音频文件?

javascript audio html5 game-engine html5-canvas

7
推荐指数
1
解决办法
3476
查看次数

访问其他类的对象

我最近选择了Java并遇到了问题.我有几个具有不同类的文件,但我无法弄清楚如何访问除声明它们之外的文件中的其他类的对象.例如:

player.java:
public class Player 
{
    public static void main(String[] args) {
        Player player = new Player();
    }
    public int getLocation()
    {
         return 2;
    }
}

monster.java:
public class Monster
{
    public void attackPlayer()
    {
        player.getLocation();
    }
}
Run Code Online (Sandbox Code Playgroud)

我不确定如何从其他文件和类本身有效地访问其他类的这些对象?我知道我可以将对象设置为静态,然后通过它们制作的类将它们作为变量访问,但这看起来相当直观?我来自一个不那么面向对象的编程背景,所以我仍然试图理解java的编程风格.

java class object

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

得到JS异常:ReferenceError:找不到变量:process

从react-native 0.26升级到0.29(并运行react-native升级)后,我在android调试器中收到以下错误:

Got JS Exception: ReferenceError: Can't find variable: process
Run Code Online (Sandbox Code Playgroud)

并在Android模拟器中的此错误消息

java.lang.RunTimeException: ReferenceError: can't find variable process
 (http://10.0.2.2:8081/index.android.bundle (...)
Run Code Online (Sandbox Code Playgroud)

我没有更改任何我的应用程序javascript自升级,所有运行没有错误之前所以我假设问题不在javascript中,而是反应版本的更改已删除'进程'变量?

即使加载一个空的索引文件(一个什么都不做的反应组件)仍会导致相同的错误.

react-native react-native-android

5
推荐指数
1
解决办法
3854
查看次数

C++文件库上传/下载?

是否有一个C++库提供通过http上传/下载文件的功能,而不必处理套接字等?

c++

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