小编Nav*_*eth的帖子

向DOM添加大量元素

在我的Web应用程序中,我必须检索大量数据并创建一个包含数据的表(表大约有800行,10列)
当我通过append()方法直接添加元素时,浏览器不会响应一段时间.

为了访问庞大的数据,我使用web worker进行ajax调用.
因为,我们无法操纵网络工作者的DOM,我该怎么办?
谢谢 :)

编辑:
如果我想要一些像hide()(jQuery hide)这样的函数,那么innerHtml会工作吗?

jquery dom

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

javascript与数组的奇怪行为

让我们考虑以下JavaScript代码段

var arr = [];
function pushMe()
{
      var temp = { "name": "me" };
      arr.push(temp)
      console.log(arr)
      temp["name"] = "you";
      arr.push(temp)
      console.log(arr)
}
Run Code Online (Sandbox Code Playgroud)

我很惊讶地看到输出为 [Object { name="you"},Object { name="you"}]

当我们推送引用时,两者都必须引用相同的对象.但至少在第一次推送输出后必须如此Object { name="me"}

为什么会这样?

谢谢 :)

javascript arrays

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

使用Babel.js将ES6箭头函数编译为Es5



在查看有关Mozilla文档的ES6 arrow函数文档时,我知道Arrow函数应用了严格模式的所有规则,除了链接中描述的那些规则

  var f = () => { 'use strict'; return this};
    var g = function () { 'use strict'; return this;}

    console.log(f()); //prints Window
    console.log(g()); // prints undefined

    //we can test this in firefox!
Run Code Online (Sandbox Code Playgroud)

但是,Babel.js将箭头功能代码转换为ES5代码返回undefined而不是Window(演示链接)

"use strict";

setTimeout(function () {
  return undefined;
}, 100);
Run Code Online (Sandbox Code Playgroud)

所以,上面的代码片段是Babel.js的输出.难道不是下面的输出?

"use strict";

setTimeout(function () {
  return this;
}.bind(Window), 100);
Run Code Online (Sandbox Code Playgroud)

如果我正在编写ES6,我会期待Window而不是undefined
它是一个错误吗?
或者,我误解了什么?

javascript scope lexical-scope ecmascript-6 babeljs

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

Object.defineProperty是否检查属性是否已定义?


我需要为javascript对象定义属性.
var obj = {};
obj['prop1'] = 1


以上述方式,我们可以定义属性.
现在,让我们使用Object.defineProperty
var obj = {}; Object.defineProperty(obj,'prop1',{value:1});
这是另一种方式.

两者有什么区别?
是否Object.defineProperty检查该属性已被定义或没有?
我相信obj['prop1'] = 1检查属性
谢谢:)

编辑
这些之间的任何性能变化?

javascript json properties object

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

我们可以用参数给出回调吗?


    function abc(arg1,arg2, callback){
        console.log(arg1 + arg2) // I am doing something really interesting
        if(callback){
        callback(arg1+ arg2)
        }
    }
    function add(){
            console.log("from call back " + arguments[0])
    }

    var a =10;
    abc(1,2, add)
Run Code Online (Sandbox Code Playgroud)


这工作正常,但如果我们需要向回调发送一些额外的参数,我们该怎么办?
在这里,除了(arg1+ arg2)我需要一些其他参数从调用者设置abc到回调
和,有什么区别abc(1,2,add)abc(1,2,add())??
谢谢 :)

javascript arguments callback

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

CSS选择器vs样式元素的类


让我们看看下面的HTML块,
HTML Chunk

在这里,在上面的块中,我们使用每个div的类.
我们还可以代替classesCSS selectors

     .first{
      /*  some styles  */
      }
      .first:nth-child(1){
      /*  some styles  */
      }
      .first div:nth-child(1){
      /*  some styles  */
      }
Run Code Online (Sandbox Code Playgroud)


上面的CSS块也可以满足我们的要求
什么是最佳实践?解释我们可以使用的条件,selectorsclasses
感谢:)

html5 coding-style css3

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