小编Bre*_*mir的帖子

Javascript相当于PHP的列表()

真的很喜欢那个功能.

$matches = array('12', 'watt');
list($value, $unit) = $matches;
Run Code Online (Sandbox Code Playgroud)

是否有相当于Javascript的Javascript?

javascript php list phpjs

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

如何使用 JSDoc 记录 useState 挂钩?

我正在尝试使用 JSDoc 来记录我的反应状态挂钩的解构部分,例如:

const [referenceState, setReferenceState] = useState(null);
Run Code Online (Sandbox Code Playgroud)

这里,referenceState是 Object 类型,并且setReferenceState需要一个 Object。

根据网上的一些信息,我正在尝试做一些事情:

/**
* @param {Object} stateToSet
* @returns {GenericArray} current state and function to change value
*/
const [referenceState, setReferenceState] = useState(null);
Run Code Online (Sandbox Code Playgroud)

但这不会产生任何东西..

有人可以帮我记录referenceState一下setReferenceState吗?

javascript jsdoc

20
推荐指数
3
解决办法
7566
查看次数

HTML/Javascript:提交时的简单表单验证

我试图以最简单的方式验证我的表单,但不知何故不起作用,当我点击提交时它只是带我到下一页而不给出警告消息:

HTML:

<form name="ff1" method="post" onsubmit="validateForm();">
 <input type="text" name="email" id="fremail" placeholder="your@email.com" />
 <input type="text" name="title" id="frtitle" placeholder="Title" />
 <input type="text" name="url" id="frurl" placeholder="http://yourwebsite.com/" />
 <input type="submit" name="Submit" value="Continue" />         
</form>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

<script type="text/JavaScript">

function validateURL(url) {
    var reurl = /^(http[s]?:\/\/){0,1}(www\.){0,1}[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,5}[\.]{0,1}/;
    return re.test(url);
}

function validateForm()
{
    // Validate URL
    var url = $("#frurl").val();
    if (validateURL(url)) { } else {
        alert("Please enter a valid URL, remember including http://");
    }

    // Validate Title
    var title = $("#frtitle").val();
    if (title=="" || title==null) { …
Run Code Online (Sandbox Code Playgroud)

html javascript forms validation

19
推荐指数
3
解决办法
17万
查看次数

preg_match_all JS等价?

在Javascript中是否有相当于PHP的preg_match_all?如果没有,那么将正则表达式的所有匹配项放入数组的最佳方法是什么?我愿意使用任何JS库来使它更容易.

javascript php regex phpjs

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

在"install"之前将状态信息传递给服务工作者

背景

我是新来的服务人员,但在一个工作是打算成为"下线一"(确实,几乎是"脱机仅")(FWIW,目的是让图书馆的消费者提供代表表格JSON配置多线性文本,并获得一个应用程序,允许其用户通过段落/诗歌范围以高度可定制的方式浏览这些文本.)

其他项目是将库作为依赖项安装,然后通过我们的JavaScript API提供信息,例如JSON配置文件的路径,指示我们的应用程序将为其生成(离线)应用程序所使用的文件.

虽然我知道我们可以做以下任何事情:

  1. 要求用户提供硬编码路径,我们的服务工作者的install脚本可以使用waitUntil它自己的JSON请求来检索用户的必要文件
  2. 跳过install服务工作者对JSON文件的服务工作者的步骤,并依赖fetch事件来更新缓存,如果用户完成安装则提供后备显示,并在发生提取之前脱机.
  3. 将一些状态信息从我们的主脚本发布到服务器,服务工作者一旦注册,将在完成其install事件之前进行查询.

......但所有选择似乎都不太理想,因为:

  1. 我们图书馆的消费者可能更愿意为他们的JSON配置指定自己的位置.
  2. 鉴于JSON配置指定对显示其用户任何有用的关键文件,我宁愿不允许安装完成只是说如果用户无法保留,则必须返回联机以获取其余文件install事件发生后在线查看所有必需的提取.
  3. 除了希望避免更多访问服务器和额外代码之外,我更希望我们的代码能够如此离线,以便能够完全在纯静态文件服务器上工作.

题:

是否有某种方法可以在事件发生之前将消息或状态信息传递给服务工作者install,无论是作为服务工作者URL的查询字符串的一部分,还是通过消息传递事件?该消息的事件甚至可以在技术上到达后install事件之前开始,只要它可以发生waitUntilinstall完成.

我知道我可以自己测试一下,但是我想知道当关键应用程序文件必须像我们这样的库中动态获取时,最佳实践可能是什么.

我猜这indexedDB可能是唯一的选择(即,将配置信息或JSON配置的路径保存到indexedDB,注册服务工作者,并从install事件中检索indexedDB数据)?即使这样也不理想,因为我让用户为他们的存储定义一个命名空间,但是我也需要一种方法将它传递给worker,否则,源上的多个这样的应用程序可能会发生冲突.

javascript service-worker

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

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

IndexedDB事务和Promise之间的相互影响不一致

我在Reddit上看到了sync-promise,并与作者进行了讨论.我们注意到IndexedDB事务和promise之间的关系有一些奇怪的不一致.

所有onsuccess事件完成后,IndexedDB事务会自动提交.一个复杂的问题是,onsuccess除了在同一个事务上执行另一个操作之外,您不能在回调中执行任何异步操作.例如,您无法在a中启动AJAX请求onsuccess,然后在AJAX请求返回某些数据后重用相同的事务.

承诺与它有什么关系?据我了解,承诺解析应该始终是异步的.这意味着如果不自动提交IndexedDB事务,则无法使用promises.

这是我正在谈论的一个例子:

var openRequest = indexedDB.open("library");

openRequest.onupgradeneeded = function() {
  // The database did not previously exist, so create object stores and indexes.
  var db = openRequest.result;
  var store = db.createObjectStore("books", {keyPath: "isbn"});
  var titleIndex = store.createIndex("by_title", "title", {unique: true});
  var authorIndex = store.createIndex("by_author", "author");

  // Populate with initial data.
  store.put({title: "Quarry Memories", author: "Fred", isbn: 123456});
  store.put({title: "Water Buffaloes", author: "Fred", isbn: 234567});
  store.put({title: "Bedrock Nights", author: …
Run Code Online (Sandbox Code Playgroud)

javascript promise indexeddb bluebird

10
推荐指数
3
解决办法
1555
查看次数

在javascript/jquery中的uniqid()?

什么是javascript中此函数的等价物:

http://php.net/manual/en/function.uniqid.php

基本上我需要生成一个看起来像的随机ID:a4245f54345并以字母字符开头(所以我可以将它用作CSS id)

javascript jquery uniqueidentifier phpjs

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

JavaScript 中的 strptime

我有一个日期输入字段,允许用户输入日期,并且我需要验证此输入(我已经有服务器端验证),但技巧是格式取决于区域设置。我已经有一个用于将 strptime 格式字符串转换为用户首选项的系统,并且我想使用相同的格式在 Javascript 端进行验证。

strptime()有任何关于Javascript 实现的想法或链接吗?

javascript strptime phpjs

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

关于数据变更余额的复利计算

我有一个data.table,有一个平衡.余额基于每个期间的存款/取款.每个期间都有一个应该适用的利率.但是,我无法将利率与余额相结合,基本上将利率应用于余额,然后使用下一期间的更新余额来计算新值.

Balance_t1 = (0 + Deposit_t1)*(1+Interest_t1)

Balance_t2 = (Balance_t1 + Deposit_t2)*(1+Interest_t2)

Balance_t3 = (Balance_t2 + Deposit_t3)*(1+Interest_t3)
Run Code Online (Sandbox Code Playgroud)

我有以下内容 data.table

dtCash <- data.table(
  Deposit = c(100, 100, -300, 0), 
  Balance = c(100, 200, -100, -100),
  Interest=c(0.1, 0.01, 0.2, 0.1)
)
Run Code Online (Sandbox Code Playgroud)

结果将是:

dtCash <- data.table(
  Deposit = c(100, 100, -300, 0), 
  Balance = c(100, 200, -100, -100), 
  Interest=c(0.1, 0.01, 0.2, 0.1), 
  BalanceWithInterest = c(110, 212.1, -105.48, -116.028)
)
Run Code Online (Sandbox Code Playgroud)

如何在每个时段更新和引用更新的"余额"列?

r data.table

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