小编Gre*_*ett的帖子

javascript通过引用解决方法传递

让我说我有一个阵列, var animals = ["dog","cat","rat"];

然后我定义 var pets = animals;

然后我打电话 pets.shift();

现在因为javascript是数组的传递引用,如果我现在调用animals,我得到["cat","rat"].

我的问题:如果我以后想以animals未经修改的形式使用,有什么方法吗?

javascript pass-by-reference

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

不允许在ToneJS(Chrome)中启动AudioContext

在Chrome中使用ToneJS时,我经常收到以下错误消息:“不允许启动AudioContext。必须在页面上用户手势后恢复(或创建)AudioContext。”

例如,使用下面的代码,每当我使用ctrl-r或ctrl-f5刷新页面时,都会收到此消息。

我可以通过Tone.context.resume()在控制台中输入来使其再次工作,但这非常重复。为什么会这样,我如何才能阻止它?

var keyToPitch = { "z":"C3", "s":"C#3", "x":"D3", "d":"D#3", "c":"E3", "v":"F3", "g":"F#3", "b":"G3", "h":"G#3", "n":"A3", "j":"A#3", "m":"B3", ",":"C4" }


var synth = new Tone.PolySynth(6, Tone.Synth, {
    "oscillator" : {
        "type": "sawtooth",
        "partials" : [0, 2, 3, 4],
        }
    }).toMaster();


 window.addEventListener('keydown', this.onkeydown)
 window.addEventListener('keyup', this.onkeyup)

function onkeydown(e){
   synth.triggerAttack(keyToPitch[e.key], Tone.context.currentTime)
}
function onkeyup(e){
    synth.triggerRelease(keyToPitch[e.key])
}
Run Code Online (Sandbox Code Playgroud)

javascript web-audio-api

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

php Newlines vs html break

这段代码:

<?php
  echo "This is the first line. \n";
  echo "This is the second line.";
?>
Run Code Online (Sandbox Code Playgroud)

在同一行回显所有:("这是第一行.这是第二行.")不应该\n有基本相同的功能<br>吗?我在这里错过了什么?

php

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

javascript:两种使用concat函数的方法

以下是两种不同的使用方法concat.nameagenameage2产生一些不同的结果,在不同的浏览器中似乎也有不同的描述.

var name = ["david","ibrahim","lagan"];
var age = [23, 34, 24];

var nameage = name.concat(age);
var nameage2 = [name].concat(age);
Run Code Online (Sandbox Code Playgroud)

例如,在chrome中: console.log(nameage);产生"david,ibrahim,lagan23,34,24",而 console.log(nameage2);产生"["david,ibrahim,lagan",23,34,24]"

有人可以解释这两种方法之间的区别,以及它如何影响使用concat?(一种方式更"正确"吗?)

javascript arrays

0
推荐指数
1
解决办法
29
查看次数

在javascript中,为什么变量'运行'代码?

在javascript中,a = alert("why?")做同样的事情alert("why?).

为什么?这种语言的特征是什么?

javascript

-3
推荐指数
1
解决办法
68
查看次数