相关疑难解决方法(0)

如何在JavaScript中获取查询字符串值?

是否有一种无插件的方式通过jQuery(或没有)检索查询字符串值?

如果是这样,怎么样?如果没有,是否有插件可以这样做?

javascript url plugins query-string

2701
推荐指数
50
解决办法
359万
查看次数

1761
推荐指数
23
解决办法
82万
查看次数

反应 - 改变不受控制的输入

我有一个简单的反应组件,我相信有一个受控输入的形式:

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

javascript node.js reactjs react-state

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

javascript中是否存在null-coalescing(Elvis)运算符或安全导航运算符?

我将通过例子解释:

猫王运营商(?:)

"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 jquery groovy safe-navigation-operator

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

如果未定义,javascript设置变量

我知道我可以测试一个javascript变量然后定义它,如果它是未定义的,但是没有一些方法可以说

var setVariable = localStorage.getItem('value') || 0;

似乎是一种更清晰的方式,我很确定我已经在其他语言中看到过这种情况.

javascript undefined

159
推荐指数
7
解决办法
18万
查看次数

为什么NaN不等于NaN?

相关的IEEE标准定义了一个数字常量NaN(不是数字),并规定NaN应该比较为不等于它自己.这是为什么?

我熟悉的所有语言都实现了这个规则.但它经常会导致严重的问题,例如当NaN存储在容器中时,NaN存在于正在排序的数据中等时的意外行为等.更不用说,绝大多数程序员都希望任何对象都等于自身(在他们了解NaN之前,令人惊讶的是他们增加了错误和混乱.

IEEE标准经过深思熟虑,因此我确信NaN的比较与其本身相同是很糟糕的.我只是想不通它是什么.

language-agnostic floating-point nan ieee-754

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

这个符号在JavaScript中意味着什么?

这是什么?

这是一系列关于JavaScript中语法的问题.这也是社区Wiki,因此邀请每个人参与维护此列表.

为什么是这样?

Stack Overflow不允许搜索特定字符.因此,在搜索运算符和其他语法标记时,很难找到许多关于运算符和其他语法标记的问题.这也使得关闭重复更加困难.以下列表是为了解决此问题.

主要思想是在Stack Overflow上链接现有问题,因此我们更容易引用它们,而不是复制ECMAScript规范中的内容.

此外,这是PHP符号引用的公然副本.我们需要一个JS.


请帮忙.编辑并添加指向其他运算符/语法参考的链接,或者如果您无法在特定语法上找到好的问题/答案,请添加此问题的答案并将其链接

javascript

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

空的合并操作符角度2

在角度2中等效的空合并运算符(??)是什么.

在C#中我们可以执行一个操作:

string str = name ?? FirstName ?? "First Name is null";
Run Code Online (Sandbox Code Playgroud)

null-coalescing-operator typescript angular

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

我应该什么时候使用??(无效合并)vs || (逻辑或)?

相关的是有一个“空合并”运营商在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)

在什么情况下会??||行为不同?

javascript logical-or

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

空条件运算符

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

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