小编Ber*_*rgi的帖子

JavaScript中的'new'关键字是什么?

newJavaScript中的关键字在第一次遇到时会非常混乱,因为人们倾向于认为JavaScript不是面向对象的编程语言.

  • 它是什么?
  • 它解决了什么问题?
  • 什么时候适当,什么时候不适合?

javascript new-operator

1684
推荐指数
12
解决办法
25万
查看次数

测试是否存在嵌套的JavaScript对象键

如果我有一个对象的引用:

var test = {};
Run Code Online (Sandbox Code Playgroud)

可能(但不是立即)有嵌套对象,如:

{level1: {level2: {level3: "level3"}}};
Run Code Online (Sandbox Code Playgroud)

在最深层嵌套的对象中测试密钥是否存在的最佳方法是什么?

alert(test.level1);收益率undefined,但alert(test.level1.level2.level3);失败了.

我现在正在做这样的事情:

if(test.level1 && test.level1.level2 && test.level1.level2.level3) {
    alert(test.level1.level2.level3);
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更好的方法.

javascript nested properties object

616
推荐指数
19
解决办法
21万
查看次数

如何在.then()链中访问先前的promise结果?

我已经将我的代码重组为承诺,并构建了一个由多个回调组成的精彩长扁平承诺链.then().最后我想返回一些复合值,并且需要访问多个中间承诺结果.但是,序列中间的分辨率值不在最后一个回调的范围内,我该如何访问它们?

function getExample() {
    return promiseA(…).then(function(resultA) {
        // Some processing
        return promiseB(…);
    }).then(function(resultB) {
        // More processing
        return // How do I gain access to resultA here?
    });
}
Run Code Online (Sandbox Code Playgroud)

javascript scope promise bluebird es6-promise

607
推荐指数
10
解决办法
18万
查看次数

HTML中的属性和属性有什么区别?

在jQuery 1.6.1中进行了更改之后,我一直在尝试在HTML中定义属性和属性之间的区别.

查看jQuery 1.6.1发行说明(靠近底部)的列表,似乎可以按如下方式对HTML属性和属性进行分类:

  • 属性:所有具有布尔值或UA计算的值,例如selectedIndex.

  • 属性:可以添加到既不是布尔值也不包含UA生成值的HTML元素的"属性".

思考?

html javascript dom properties

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

将符号引入ES6的动机是什么?

更新:最近一篇来自Mozilla精彩文章出现了.如果你好奇,请阅读它.

您可能知道他们计划在ECMAScript 6中包含新的Symbol原语类型(更不用说其他一些疯狂的东西).我一直认为:symbolRuby 中的概念是不必要的; 我们可以轻松地使用纯字符串,就像我们在JavaScript中一样.现在他们决定用JS复杂化JS.

我不明白动机.有人可以向我解释我们是否真的需要JavaScript中的符号吗?

javascript symbols ecmascript-harmony ecmascript-6

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

JavaScript OR(||)变量赋值说明

给出这段JavaScript代码......

var a;
var b = null;
var c = undefined;
var d = 4;
var e = 'five';

var f = a || b || c || d || e;

alert(f); // 4
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释一下这种技术的用途(我最好的猜测是在这个问题的标题中!)?它是如何/为什么它正常工作?

我的理解是变量f将被赋予第一个变量的最近值(从左到右),该变量的值不是null或未定义,但是我没有设法找到关于这种技术的很多参考资料并且有看到它用了很多.

此外,这种技术是否特定于JavaScript?我知道在PHP中做类似的事情会导致产生f一个真正的布尔值,而不是d它自身的值.

javascript variables variable-assignment or-operator

332
推荐指数
8
解决办法
32万
查看次数

NodeJS计划支持导入/导出es6(es2015)模块

我一直在寻找互联网,没有明确的答案.

目前使用的NodeJS只CommonJS的语法来加载模块,如果你真的想使用标准ES2015模块语法,你要么必须事先transpile,或在运行时使用外部模块加载.

目前我不太喜欢使用这两种方法,NodeJS维护者是否计划支持ES2015模块?我还没有找到关于此的暗示.

目前NodeJS 6.x声称支持96%的ES2015功能,但没有任何模块参考(NodeJS ES2105支持链接).

你知道NodeJS是否会在不久的将来支持这些模块?

javascript module node.js ecmascript-6 es6-modules

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

加载并执行脚本的顺序

有很多不同的方法可以在html页面中包含JavaScript.我知道以下选项:

  • 内联代码或从外部URI加载
  • 包括在<HEAD>或<body>标记[ 1,2 ]
  • 没有deferasync属性(只有外部脚本)
  • 包含在静态源中或由其他脚本动态添加(在不同的解析状态,使用不同的方法)

不计算来自硬盘,javascript:URIs和onEvent-attributes [ 3 ]的浏览器脚本,已经有16个替代方法可以执行JS,我确信我忘了一些东西.

我不太关心快速(并行)加载,我对执行顺序更感兴趣(这可能取决于加载顺序和文档顺序).是否有一个很好的(跨浏览器)参考,涵盖所有情况?例如http://www.websiteoptimization.com/speed/tweak/defer/仅处理其中的6个,并且主要测试旧浏览器.

我担心没有,这是我的具体问题:我有一些(外部)头脚本用于初始化和脚本加载.然后我在身体的末尾有两个静态的内联脚本.第一个允许脚本加载器动态地将另一个脚本元素(引用外部js)附加到正文.第二个静态内联脚本想要使用添加的外部脚本中的js.它可以依赖于已执行的其他(以及为什么:-)?

javascript load-order

248
推荐指数
4
解决办法
20万
查看次数

如何使用条件元素并使用Facebook React的JSX保持DRY?

我如何选择在JSX中包含一个元素?下面是一个使用横幅的示例,如果已经传入,该横幅应该在组件中.我想要避免的是必须在if语句中复制HTML标记.

render: function () {
    var banner;
    if (this.state.banner) {
        banner = <div id="banner">{this.state.banner}</div>;
    } else {
        banner = ?????
    }
    return (
        <div id="page">
            {banner}
            <div id="other-content">
                blah blah blah...
            </div>
        </div>
    );
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-jsx

226
推荐指数
10
解决办法
14万
查看次数

以HTML格式呈现字符串并保留空格和换行符

我有一个MVC3应用程序,它有一个详细信息页面.作为其中的一部分,我有一个描述(从数据库中检索)有空格和新行.渲染时,html会忽略新的行和空格.我想编码那些空格和新行,以便它们不被忽略.

你是怎样做的?

我尝试了HTML.Encode,但它最终显示了编码(甚至没有在空格和新行上,而是在其他一些特殊字符上)

html css whitespace newline line-breaks

197
推荐指数
5
解决办法
12万
查看次数