是否有一种无插件的方式通过jQuery(或没有)检索查询字符串值?
如果是这样,怎么样?如果没有,是否有插件可以这样做?
我被告知不要for...in在JavaScript中使用数组.为什么不?
我有一个简单的反应组件,我相信有一个受控输入的形式:
import React from 'react';
export default class MyForm extends React.Component {
constructor(props) {
super(props);
this.state = {}
}
render() {
return (
<form className="add-support-staff-form">
<input name="name" type="text" value={this.state.name} onChange={this.onFieldChange('name').bind(this)}/>
</form>
)
}
onFieldChange(fieldName) {
return function (event) {
this.setState({[fieldName]: event.target.value});
}
}
}
export default MyForm;
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时,我收到以下警告:
警告:MyForm正在更改要控制的类型文本的不受控制的输入.输入元素不应从不受控制切换到受控制(或反之亦然).决定在组件的使用寿命期间使用受控或不受控制的输入元素
我相信我的输入是有控制的,因为它有一个值.我想知道我做错了什么?
我正在使用React 15.1.0
我将通过例子解释:
猫王运营商(?:)
"Elvis运算符"是Java三元运算符的缩写.这方面的一个实例是,如果表达式解析为false或null,则返回"合理的默认值".一个简单的例子可能如下所示:
def gender = user.male ? "male" : "female" //traditional ternary operator usage
def displayName = user.name ?: "Anonymous" //more compact Elvis operator
Run Code Online (Sandbox Code Playgroud)
安全导航操作员(?.)
安全导航操作符用于避免NullPointerException.通常,在引用对象时,可能需要在访问对象的方法或属性之前验证它是否为null.为了避免这种情况,安全导航操作符将只返回null而不是抛出异常,如下所示:
def user = User.find( "admin" ) //this might be null if 'admin' does not exist
def streetName = user?.address?.street //streetName will be null if user or user.address is null - no NPE thrown
Run Code Online (Sandbox Code Playgroud) 我知道我可以测试一个javascript变量然后定义它,如果它是未定义的,但是没有一些方法可以说
var setVariable = localStorage.getItem('value') || 0;
似乎是一种更清晰的方式,我很确定我已经在其他语言中看到过这种情况.
相关的IEEE标准定义了一个数字常量NaN(不是数字),并规定NaN应该比较为不等于它自己.这是为什么?
我熟悉的所有语言都实现了这个规则.但它经常会导致严重的问题,例如当NaN存储在容器中时,NaN存在于正在排序的数据中等时的意外行为等.更不用说,绝大多数程序员都希望任何对象都等于自身(在他们了解NaN之前,令人惊讶的是他们增加了错误和混乱.
IEEE标准经过深思熟虑,因此我确信NaN的比较与其本身相同是很糟糕的.我只是想不通它是什么.
这是一系列关于JavaScript中语法的问题.这也是社区Wiki,因此邀请每个人参与维护此列表.
Stack Overflow不允许搜索特定字符.因此,在搜索运算符和其他语法标记时,很难找到许多关于运算符和其他语法标记的问题.这也使得关闭重复更加困难.以下列表是为了解决此问题.
主要思想是在Stack Overflow上链接现有问题,因此我们更容易引用它们,而不是复制ECMAScript规范中的内容.
此外,这是PHP符号引用的公然副本.我们需要一个JS.
请帮忙.编辑并添加指向其他运算符/语法参考的链接,或者如果您无法在特定语法上找到好的问题/答案,请添加此问题的答案并将其链接
在角度2中等效的空合并运算符(??)是什么.
在C#中我们可以执行一个操作:
string str = name ?? FirstName ?? "First Name is null";
Run Code Online (Sandbox Code Playgroud) 相关的是有一个“空合并”运营商在JavaScript中?- JavaScript 现在有一个??运算符,我发现它使用得更频繁。以前大多数 JavaScript 代码使用||.
let userAge = null
// These values will be the same.
let age1 = userAge || 21
let age2 = userAge ?? 21
Run Code Online (Sandbox Code Playgroud)
在什么情况下会??和||行为不同?
C#6.0刚刚发布,并且有一个新的不错的小功能,我真的很想在JavaScript中使用它.他们被称为Null条件运算符.这些使用?.或?[]语法.
这些操作基本上允许您null在尝试访问属性之前检查您获得的对象.如果对象是null,那么您将获得null属性访问的结果.
int? length = customers?.Length;
Run Code Online (Sandbox Code Playgroud)
所以这里int可以为null,并且如果customers为null 则将采用该值.更好的是你可以链接这些:
int? length = customers?.orders?.Length;
Run Code Online (Sandbox Code Playgroud)
我不相信我们可以用JavaScript做到这一点,但我想知道做类似事情的最好方法是什么.通常我发现链接if块难以阅读:
var length = null;
if(customers && customers.orders) {
length = customers.orders.length;
}
Run Code Online (Sandbox Code Playgroud) javascript ×8
angular ×1
arrays ×1
for-loop ×1
groovy ×1
ieee-754 ×1
iteration ×1
jquery ×1
logical-or ×1
loops ×1
nan ×1
node.js ×1
plugins ×1
query-string ×1
react-state ×1
reactjs ×1
typescript ×1
undefined ×1
url ×1