小编Aad*_*rma的帖子

javascript用双引号替换单引号

以下代码仅替换一个单引号.我需要用双引号替换所有单引号.我该怎么做?

var a = "[{'column1':'value0','column2':'value1','column3':'value2'}]";
var b = a.replace("'", "\"");
console.log(b);
Run Code Online (Sandbox Code Playgroud)

javascript

27
推荐指数
4
解决办法
8万
查看次数

立即调用函数表达式,无需使用分组运算符

我正在尝试不使用IIFE模式(将函数定义放在括号内)立即调用函数。在这里,我看到两种情况:

  1. When a function declaration is invoked immediately: gives SyntaxError.

  2. When a function expression is invoked immediately: executes successfully.

Example 1: gives SyntaxError

//gives `SyntaxError`
function() {
    console.log('Inside the function');
}();
Run Code Online (Sandbox Code Playgroud)

Example 2: Executes without any error

// Executes without any error
var x = function() {console.log('Inside the function')}(); // Inside the function
Run Code Online (Sandbox Code Playgroud)

So, I have these doubts:

  • With this approach, why does it give an error for function declaration but not for function expression?
  • Is there …

javascript function iife

24
推荐指数
2
解决办法
1393
查看次数

什么是树木摇晃,为什么我需要它?

我已经开始学习Angular 2并且遇到了这个术语"树摇晃",从初学者的角度来看,我还没有找到任何好的解释.

什么是树摇晃,我为什么需要它?我该如何使用它?

javascript webpack tree-shaking angular

11
推荐指数
2
解决办法
1467
查看次数

什么是ESNext?

我遇到过术语“ ESNext”,并且想知道它是否与EcmaScript相同。所以,我在这里有这些问题:

  • 什么是ESNext,实际上是什么?
  • 它是否指的是EcmaScript的任何特定版本?

javascript ecmascript-next

11
推荐指数
3
解决办法
1008
查看次数

理解JavaScript堆

徒劳地尝试编写完美的javascript我正在解决Javascript堆的问题.我已经把它降到最低水平我可以但我已经用完了选项,并且不明白发生了什么(我的猜测是rAF开销,但猜测不计算)

堆的锯齿图案(浅蓝色) 在此输入图像描述

时间轴来自简单的整页画布粒子渲染.练习的目的是减少堆锯齿的振幅,并希望也增加清理之间的时间.

仔细观察,堆每60秒钟增长大约15k,每隔~1秒从3.3MB下降到2.4MB 在此输入图像描述

我不明白的是时机和增长量15K

堆在执行空闲之前增长15kb,并且在以下函数返回空闲之后~0.015ms(这是我的顶级函数)

var renderList = [];    
var stop = false;
var i;

function update(timer) { // Main update loop
    if(!stop){
        requestAnimationFrame(update);
    }
    for(i = 0; i < renderList.length; i ++){
        renderList[i](timer,ctx, w, h);            
    }
}
Run Code Online (Sandbox Code Playgroud)

我对代码所做的一切都是减少或改变堆增长的位置.分配配置文件显示我没有分配任何内存.GC在CPU配置文件中为0.08%(我正在做什么,我不知道?,它是否也管理堆?)

有人可以向我解释一下这个内存的用途是什么吗?以及我如何减少它或使线条平坦?

我知道我可以做任何事情,但目前我还没有最清楚的想法是什么?很高兴知道.

该片段只是从中调用的代码update(上面的代码片段)我不认为它是相关的,但以防万一.它是在堆增长之前执行并返回的代码.

        var p,d,s;
        var renderCount = 0;
        var fxId = 0;
        var lastTime;
        var frameTime = 0;
        var minParticles = 10;
        var particleCount = minParticles;
        var frameSum = 0;
        var frameAve = 0;
        var frameWorkTime = …
Run Code Online (Sandbox Code Playgroud)

javascript

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

JavaScript的forEach循环如何决定跳过或遍历数组中的"undefined"和"null"元素?

我知道forEach方法将通过一个数组对象遍历并将跳过它们要么所有数组元素nullundefined.我在下面举个例子:

var a = [1,2,3,,5,6];
var b = [1,2,3,undefined,5,6];

var fn = function(arr){
    arr.forEach(function(currentValue, index, array){
      console.log(currentValue);
    });
};  

fn(a); //Prints on console (separated by newline): 1 2 3 5 6
fn(b); //Prints on console (separated by newline): 1 2 3 undefined 5 6
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,

  • fn(a)被执行时,forEach环会忽略第四元件a[3],其是未定义的.
  • 但是,当fn(b)执行时,forEach循环遍历第4个元素b[3],该元素也是未定义的.

a[3]b[3]这里有什么区别?为什么forEach循环没有跳过b[3]

javascript arrays foreach

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

什么是JavaScript中的"影子标识符声明"?

在阅读JavaScript文章时,我遇到了这个术语"影子标识符声明".有人能解释一下这是什么吗?如果可能的话,请提供一个简单的例子.

文章的快照

javascript

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

如何在 ReactJs 中加载 WebGL 顶点和片段着色器?

让我先提出我的问题,然后分享相关细节:有没有一种方法我们可以在ReactJS中使用/加载(修复解析错误)WebGL着色器?有可用的装载机吗?

经过几个小时的努力,在谷歌上搜索了一种能够使用着色器文件(即顶点和片段着色器)的方法,我还没有找到决定性的解决方案。

当我在 ReactJS 应用程序中执行此操作时:

  • require('../shaders/particle.vert')
  • import particleVert from '../shaders/particle.vert'

我收到此错误:

ERROR in ./src/particles/src/shaders/particle.vert 3:10
Module parse failed: Unexpected token (3:10)
You may need an appropriate loader to handle this file type.
Run Code Online (Sandbox Code Playgroud)

这就是我在反应应用程序代码中使用这些着色器的方式:

const material = new THREE.RawShaderMaterial({
        uniforms,
        vertexShader: glslify(require('../shaders/particle.vert')),
        fragmentShader: glslify(require('../shaders/particle.frag')),
        // vertexShader: glslify(particleVert),
        // fragmentShader: glslify(particleFrag),
        depthTest: false,
        transparent: true,
        // blending: THREE.AdditiveBlending
});
Run Code Online (Sandbox Code Playgroud)

这是显示问题完整日志的屏幕截图:

在此输入图像描述

glsl three.js reactjs webpack

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

为什么这里的输出为0。var a = 7; a.constructor();

让我们看下面的例子:

Q1:为什么0这里输出?这是什么意思?

var a = 7;
console.log(a.constructor()); // prints 0 (Why?)
Run Code Online (Sandbox Code Playgroud)

问题2:何时typeof atypeof 7两者都是数字,为什么a.constructor()运行而7.constructor()没有?

var a = 7; 
var bool = typeof a === typeof 7;

console.log(a.constructor()); // 0
console.log((++a).constructor()); // 0

console.log(7.constructor()); // SyntaxError: Invalid or unexpected token
console.log(++a.constructor()); // ReferenceError: Invalid left-hand side expression in prefix operation
Run Code Online (Sandbox Code Playgroud)

javascript numbers

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

[Native Code] 在 JavaScript 中是什么意思?

我一直在玩 JavaScript 示例(在 Google Chrome 的开发者控制台中),并注意到了这种表示[native code]

本机代码的示例图像

据我了解:它似乎是 JavaScript 本身的一部分

但这并没有扼杀我的好奇心。我正在寻找更好的解释来理解这一点[native code]。所以,确切地说,我有这些疑问:

  1. 有什么资格[native code]?它应该只是函数(函数声明),还是可以是任何 JavaScript 代码块?
  2. 我们可以将自定义编写的代码转换为[native code]? 如果是,如何?

PS:我知道 SO 指南建议我们不应该在一篇文章中提出多个问题。但是,以上两个是相关的,阐明了我们对单个主题的理解[native code],因此在这里一起询问。


这是工作示例,打印[native code]

var doWork = function (name="Aaditya") {
	console.log(name);
};
doWork(); // prints -- Aaditya
console.log(doWork); // prints -- ƒ (name="Aaditya") { return name; }
console.log(doWork.toString); // prints -- ƒ toString() { [native code] }
Run Code Online (Sandbox Code Playgroud)

编辑:

我看到在 SO 上还有另一个类似的帖子“[native code]”是什么意思?,但显然,我在那里没有得到答案(所以,不确定这是否真的应该标记为该帖子的副本,请提出建议/帮助)。

javascript

5
推荐指数
0
解决办法
4686
查看次数