相关疑难解决方法(0)

在"需要"NodeJS中的模块时,const与var之间是否存在效率差异?

我正在阅读https://github.com/rvagg/bl的文档,我注意到,在示例中,他们使用const来要求一个模块,这让我想知道:这是一个好习惯吗?我的意思是,对我来说,这看起来是一个好主意.

以上链接的直接示例是:

const BufferList = require('bl')

var bl = new BufferList()
bl.append(new Buffer('abcd'))
bl.append(new Buffer('efg'))
/*...*/
Run Code Online (Sandbox Code Playgroud)

我也注意到示例中缺少分号但很好,这已在其他地方彻底讨论过了.

node.js

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

使用 `status == true` 时,布尔条件始终为 false

所以我刚开始学习 javascript,我现在在函数模块中,我正在玩它,突然我遇到了一个疑问:

为什么是这样:

if(x==true){
 return 1;
}
Run Code Online (Sandbox Code Playgroud)

与此不同:

if(x){
 return 1;
}
Run Code Online (Sandbox Code Playgroud)

?

你看,我有这个代码:

function isAdult(age){
    if(age >= 18){
        return true;
    }
    return false;
}

function nameAndAge(string, boolean){
    if(boolean == true){

        var my_string = string + " is adult";
        return my_string
    }
    var my_string = string + " is under age";
    return my_string

}

var talisa_age = 22;
var talisa_name = "Talisa Maegyr";

var status = isAdult(talisa_age);

var str = nameAndAge(talisa_name,status);
console.log(str)
Run Code Online (Sandbox Code Playgroud)

无论“talisa_age”值如何,我都会得到以下输出:

"Talisa Maegyr is under age"
Run Code Online (Sandbox Code Playgroud)

但是,如果我将 nameAndAge …

javascript boolean

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

JavaScript const关键字

constJavaScript中的关键字是否创建了对不可变数据结构的不可变引用?[我假设JavaScript中存在不可变数据结构.]

因为string它似乎这样做:

var x = "asdf";
const constantX = x;

alert("before mutation: " + constantX);
x = "mutated"
alert("after mutation: " + constantX);
Run Code Online (Sandbox Code Playgroud)

输出:

突变之前:asdf

突变后:asdf

http://jsfiddle.net/hVJ2a/

javascript immutability

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

我可以完全停止使用var吗?

我正在学习Java课程,所有声明都使用block scope(int, double, boolean, etc.).然而,在JavaScript中var是函数范围.

let在ES6中出现并给了JS开发人员阻止范围.我正在调整我的编码风格,我选择一起摆脱var所有.

这个可以吗?

javascript ecmascript-6

7
推荐指数
2
解决办法
638
查看次数

Javascript - 如何更改对象属性而不重新分配它们

下面的片段揭示了疑问

var foo = 'something'
var baz = 'other thing'

var obj = {
  prop1 : 'my prop',
  prop2 : foo,        //referencing external variable
  prop3 : baz         //referencing external variable
}

// here we get the expected obj to be printed
console.log(obj)

// now I change one of the initial variable
foo = 'changed'

// here we get the sabe print as the first, that is the ~problem~   
console.log(obj)
Run Code Online (Sandbox Code Playgroud)

那么,如何在没有重新分配的情况下在prop2上打印"已更改" obj.prop2 = foo

javascript

6
推荐指数
2
解决办法
1935
查看次数

JavaScript - "this"的所有者

我按照教程创建了一个JavaScript秒表,并尝试将其扩展为使用多个秒表(一个类的多个实例).我遇到的问题是当我试图在时钟滴答作响时显示当前值时我需要对类实例进行硬编码,因为使用"this"不起作用(在我使用console.log的行上).我已经将代码减少到最低限度以尝试理解这方面,并粘贴了我在下面的内容:

function Timer(){
    var time1 = null;
    var time2 = null;
    var timeLoop = null;

    function getTime(){
        var day = new Date();
        return day.getTime();
    }

    this.start = function(){
        time1 = getTime();

        timeLoop = setInterval(function(){
            time2 = getTime();
            console.log(_Timer.duration());
            //console.log(this.duration());
        },500);
    }

    this.duration = function(){
        return (time1 - time2) / 1000;
    }

}       
Run Code Online (Sandbox Code Playgroud)

我认为下面的链接描述了我的问题,但我不明白它在这里应用它.问题是由于所有者是this.start而不仅仅是这个,我如何修改代码以使其适用于任何Timer实例?

http://www.quirksmode.org/js/this.html

我已经包含了硬编码值行和不起作用的"this"行.

谢谢,

杰兰特

javascript methods class this console.log

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

nodejs require 语句中的 const 与 var

我正在使用 const 或 var 在我的 nodeJS 代码中导入库,想知道哪种方法更好且内存效率更高?

选项1:

const _ = require('lodash');
Run Code Online (Sandbox Code Playgroud)

选项 2:

var _ = require('lodash');
Run Code Online (Sandbox Code Playgroud)

哪个更好?选项 1 还是选项 2 ?

var constants node.js

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

对所有永远不会改变的变量使用const是否有意义?

鉴于这样的事情:

const audio = React.findDOMNode(this.refs.audio);
const seeker = React.findDOMNode(this.refs.seeker);
const {left, right} = seeker.getBoundingClientRect();
const seekToPerc = (event.clientX - left) / (right - left);

audio.currentTime = this.props.totalRunTime * seekToPerc;
Run Code Online (Sandbox Code Playgroud)

这是否过度使用const?我应该let在这里使用吗?

const ecmascript-6

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

迭代中的ES6 const用法

我正在阅读Nodejs API,我对缓冲区的迭代感到困惑:

for (const b of buf10) {
  console.log(b)
}
Run Code Online (Sandbox Code Playgroud)

const用于声明常量,为什么要使用const而不是let

javascript ecmascript-6

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

var和const有什么区别?

我是nodejs的新手.我一直在观看Youtube上的教程,有些人使用'const',而不是我在Javascript中熟悉的'var'.我认为'const'应该表示常量和'var'变量.但我仍然没有得到它.为什么需要使用'const'而不是'var'?

node.js

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