Jquery 速记,如果其他代码在 50% 的时间内返回未定义的变量



为什么这样做

var hash = "find.asp?find=something"
var findParam = hash.indexOf('=') ? hash.split('=')[1] : hash;
$('#test').html(findParam);

结果:"某物">

但这没有?

var hash = "something"
var findParam = hash.indexOf('=') ? hash.split('=')[1] : hash;
$('#test').html(findParam);
结果:未

捕获类型错误:无法读取未定义的属性"拆分">

唯一的区别是变量。如果变量包含"=",则应以一种方式处理,如果不是...

https://jsfiddle.net/3eLan1hv/9/

所以我解决了它:喜欢这个:

var findParam = (hash.indexOf('=') != -1) ? hash.split('=')[1] : hash;

我在控件中添加了 != -1,瞧

最新更新