小编Boo*_*jaa的帖子

为什么生成器方法构造函数?

声明为方法的方法(使用ES6增强的对象文字或类)不是构造函数/没有原型链.

但是通过方法语法声明的生成器确实有原型链并且是构造函数.

采取以下示例 - (需要v8)

'use strict';
class x {
  *a() { this.b() }
  b() { print('class method'); }
}
let i = new x();
i.a.prototype.b = function() { print('generator method'); };
i.a().next();
(new i.a()).next();
Run Code Online (Sandbox Code Playgroud)

输出,

class method
generator method
Run Code Online (Sandbox Code Playgroud)

虽然添加原型i.b,并且调用new i.b()会因为i.b不是构造函数而抛出错误,但我能够做到new i.a(),并且this内部*a获得不同的上下文.

  • 为什么存在这种差异?
  • 将生成器原型定义为方法的用例是什么?

javascript generator ecmascript-6

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

无法加载/nowjs/now.js

当我启动服务器时,出现以下错误

[Error: Unable to load shared library /home/boopathi/node_modules/now/node_modules/node-    proxy/lib/node-proxy.node]
Error: Unable to load shared library /home/boopathi/node_modules/now/node_modules/node-proxy/lib/node-proxy.node
at Object..node (module.js:465:11)
at Module.load (module.js:353:31)
at Function._load (module.js:310:12)
at Module.require (module.js:359:17)
at require (module.js:370:17)
at Object.<anonymous> (/home/boopathi/node_modules/now/lib/proxy.js:10:13)
at Module._compile (module.js:434:26)
at Object..js (module.js:452:10)
at Module.load (module.js:353:31)
at Function._load (module.js:310:12)
Run Code Online (Sandbox Code Playgroud)

当我手动创建节点代理模块时,我收到以下警告..

[2/2] cxx_link: build/Release/node-proxy_1.o -> build/Release/node-proxy.node 
Run Code Online (Sandbox Code Playgroud)

黄色...

现在我无法加载/nowjs/now.js文件

我试过--harmony_proxies ..但它没有帮助..

node.js nowjs-sockets

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

解决Graphql中的类型

GraphQL中有几个地方Type需要解析a 而不仅仅是a field中的a Type.

后端API -

  • /users - 用户列表 - 最小信息 - 名称,ID
  • /users/:id - 详细的用户信息
  • /foo - 返回一个UserID的字段所有者

查询和架构

构建模式以执行以下查询

query a {
  users {
    age # some detail info
  }
  foo {
    owner {
      location # some detail info
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

架构可以如下 -

type Query {
  users: [User]
  foo: Foo
}
type Foo {
  owner: User
}
type User {
  id: ID
  age: Int
  location: String
}
Run Code Online (Sandbox Code Playgroud)

问题

上述模式中的解析器需要在2个不同的位置包含/处理用户详细信息获取调用.1.用户列表 - Query.users和2 Query.foo.owner …

apollo graphql

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

Google Closure Library的基准测试

当我搜索Javascript库的性能时,我得到了许多站点,显示了以下流行库之间的性能比较

  • jQuery(很慢)
  • 原型(在IE中非常慢)
  • Dojo(来到DOM时最快)
  • ExtJs(平均值)
  • Micro JS(慢但OK)

但在任何的基准,Google Closure Library包括在内.它是不是像任何其他标准库一样,据说它是一个程序式库.

我需要一些关于Closure库性能的基准测试.并且想要一个关于"在初学者阶段使用dojo并在某个中间阶段使用jQuery时切换到Closure库的建议"的建议

谷歌发布它在其所有应用程序(如Gmail等)中使用关闭库...性能非常好.这是因为图书馆吗?可以在JS中编写OO代码的中间javaScript编码器是否可以将Closure库用于非常高的级别,或者建议继续使用DOJO.

javascript performance jquery dojo google-closure-library

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

如何在没有单独的JS文件的情况下使用ServiceWorker?

我们创建服务工作者

navigator.serviceWorker.register('sw.js', { scope: '/' });
Run Code Online (Sandbox Code Playgroud)

我们可以创建Workers没有这样的外部文件的新东西,

var worker = function() { console.log('worker called'); };
var blob = new Blob( [ '(' , worker.toString() , ')()' ], {
    type: 'application/javascript'
});
var bloburl = URL.createObjectURL( blob );
var w = new Worker(bloburl);
Run Code Online (Sandbox Code Playgroud)

通过使用blob创建ServiceWorkers的方法,我们将得到一个Security Errorbloburl blob:chrome-extension...,并且服务工作者将不支持源.

是否可以在没有外部文件的情况下创建服务工作者并将范围用作/

service-worker

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

如何阻止老年服务工作者?

下图显示安装了两个工作程序 - 一个处于活动状态,另一个未处于活动状态(刚刚安装).

两名服务人员正在运行

  1. 注册服务工作者
  2. service-worker.js对页面进行更改并重新加载.
  3. 逻辑是服务工作者检查二进制差异并更新工作者的版本.

因此,使用新版本ID生成新的服务工作者.但为什么旧的一直在运行?以及如何关闭它?

sw.js这里https://gist.github.com/boopathi/57b7e8b6d657d55bdc7d

service-worker

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

Facebook应用程序数据存储

我用JavaScript创建了一个Facebook应用(游戏)。我使用了Facebook的php-sdk。我尽力使用sdk,除了显示登录用户的名称及其详细信息外。

我想将每个用户的分数存储在某个位置。已检查FQL。据我所知,它不允许您存储数据,只有SELECT查询可用。因此,有什么方法可以将分数添加到用户信息或类似内容中。

总之我们可以将数据存储在Facebook上吗

要么

我们应该只使用自己的数据库服务器来存储数据。

facebook facebook-fql facebook-javascript-sdk facebook-php-sdk

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

获取DOM元素的dojo方法

我有'this'指向DOM元素(a div或a form).我想在该元素上使用dojo函数.我该怎么做

就像在jQuery中我们做$(this).append()....

有没有像

dojo.foo(this).connect() 
Run Code Online (Sandbox Code Playgroud)

要么

dojo.connect(dojo.foo(this),"some", thing);
Run Code Online (Sandbox Code Playgroud)

javascript dojo

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

如何区分箭头函数,类和正常函数?

如何使用它的参考来区分ES6中的这三个东西?

let x = i => i+1;

class y { constructor(i) { this._i=i+1; } get i(){ return this._i;} }

function z(i) { return i+1; }
Run Code Online (Sandbox Code Playgroud)

例:

test(x) //=> 'arrow'
test(y) //=> 'class'
test(z) //=> 'function'
Run Code Online (Sandbox Code Playgroud)

我怎样才能在转录器中区分这些东西 - Traceur/Babel?

javascript ecmascript-6 arrow-functions

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

如何在使用Service Workers时缓存像Google Maps这样的API

尝试在Service Workers中缓存Google Maps API响应.

源代码:https://github.com/boopathi/sw-demo-iss/blob/gh-pages/sw.js

现在我正在使用Maps API请求的所有URL,但看起来很糟糕,而且我无法缓存所有内容,我可以缓存某种类型的请求并响应相同类型的请求.

说,

GET maps.googleapi.com/js?param1=value1
#and
GET maps.googleapi.com/js?param2=value2&param3=value3
Run Code Online (Sandbox Code Playgroud)

是否可以'maps.googleapi.com/js'在获取注入最后使用的参数时将其缓存?

service-worker

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