相关疑难解决方法(0)

为什么扩展本机对象是一种不好的做法?

每个JS意见领袖都说扩展原生对象是一种不好的做法.但为什么?我们是否获得了性能?他们是否害怕有人以"错误的方式"做到这一点,并添加了可枚举的类型Object,几乎破坏了任何对象上的所有循环?

以TJ Holowaychuk的should.js为例.他增加了一个简单的getter来Object,一切工作正常(来源).

Object.defineProperty(Object.prototype, 'should', {
  set: function(){},
  get: function(){
    return new Assertion(Object(this).valueOf());
  },
  configurable: true
});
Run Code Online (Sandbox Code Playgroud)

这真的很有道理.例如,可以扩展Array.

Array.defineProperty(Array.prototype, "remove", {
  set: function(){},
  get: function(){
    return removeArrayElement.bind(this);
  }
});
var arr = [0, 1, 2, 3, 4];
arr.remove(3);
Run Code Online (Sandbox Code Playgroud)

是否有任何反对扩展本机类型的论据?

javascript prototype prototypal-inheritance

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

Javascript:如何检查字符串是否为空?

可能重复:
在JavaScript中检查空字符串的最佳方法是什么?

我知道这是非常基本的,但我是javascript的新手,无法在任何地方找到答案.

如何检查字符串是否为空?

javascript string

91
推荐指数
5
解决办法
46万
查看次数

如何检查变量是否为null或空字符串或JavaScript中的所有空格?

我需要检查变量是否为null或是否所有空格或只是空白("").

我有以下,但它不起作用:

var addr;
addr = "  ";

if (!addr) {
    // pull error 
}
Run Code Online (Sandbox Code Playgroud)

如果我执行以下操作,它可以工作:

if (addr) {

}?
Run Code Online (Sandbox Code Playgroud)

我需要的是像C#方法String.IsNullOrWhiteSpace(value).

javascript jquery

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

在javascript中删除字符串中的空格

我已经阅读了关于javascript trim的这个问题,带有正则表达式的答案.

然后我希望修剪去除Hello和World之间的内部空间.

function myFunction() {
    alert("Hello World ".trim());
}
Run Code Online (Sandbox Code Playgroud)

EDITED

为什么我期待!?

废话!显然修剪不会移除内部空间!只有前导和尾随,这就是修剪工作的方式,那么这是一个非常错误的问题,我的道歉.

html javascript trim

72
推荐指数
5
解决办法
16万
查看次数

在Javascript中检查一下isEmpty?

如何在Javascript中检查变量是否为空?抱歉这个愚蠢的问题,但我是Javascript的新手!

if(response.photo) is empty {
    do something
else {
    do something else
}
Run Code Online (Sandbox Code Playgroud)

response.photo来自JSON,它有时可能是空的,空数据单元格!我想检查一下它是否为空.

javascript jquery

70
推荐指数
4
解决办法
21万
查看次数

Javascript中新的Boolean()的目的是什么?

有什么用?

var flag = new Boolean(false); 
Run Code Online (Sandbox Code Playgroud)

相比:

var flag = false;
Run Code Online (Sandbox Code Playgroud)

你什么时候实际使用new Boolean?

javascript boolean

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

如何在JS中检查值是否为空且不是空字符串

在Javascript中是否检查值是否为空且不是空字符串?我正在使用以下一个:

var data; //get its value from db 
if(data != null && data != '') {
   // do something
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否还有其他更好的解决方案.谢谢.

javascript

56
推荐指数
5
解决办法
21万
查看次数

if(document.getElementById('something')!= null)是否与if(document.getElementById('something'))相同?

当我想检查页面中是否存在元素时.这两个检查是否相同?有没有更好的更紧凑的方式来检查存在?

如果我要检查value == ''.这也可以包含在此检查中吗?

javascript jquery dom

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

检查字符串内容?string Length Vs Empty String

哪个更有效的编译器和检查字符串是否为空的最佳实践?

  1. 检查字符串的长度是否== 0
  2. 检查字符串是否为空(strVar =="")

此外,答案是否取决于语言?

language-agnostic compiler-construction string optimization

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

检查HTML输入元素是否为空或用户是否输入了值

与此问题相关.我可以检查DOM中的元素是否有值?我试图将其置于'if'语句中,并且不确定我的方法是否正确.开始:

if (document.getElementById('customx')){
    //do something
}
Run Code Online (Sandbox Code Playgroud)

或者应该是:

if (document.getElementById('customx') == ""){
    //do something
}
Run Code Online (Sandbox Code Playgroud)

编辑:我的意思是,值customx是一个文本输入框.如何检查此字段是否未输入文本.

html javascript dom

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