jcu*_*nod 5 javascript json default-value
在代码中:
slider.init({
foo: "bar"
});
var slider={
init:function(data){
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用data.foo,我会得到"酒吧".
假设我有一个可选的变量fish,可以包含在JSON变量中.如果我引用data.fish,我将被告知它是未定义的或将抛出错误或某事.有没有办法我可以为fish分配一个默认值,这样当我请求时data.fish,即使它没有在参数中设置,我会得到一个默认值?
CMS*_*CMS 10
您可以使用或运算符分配默认值,以防未定义,例如:
var slider = {
init:function(data){
var fish = data.fish || "default value";
}
}
Run Code Online (Sandbox Code Playgroud)
或者你可以创建一个"扩展"函数,合并两个对象,类似于jQuery 扩展函数:
function extend (obj1, obj2) {
var result = obj1, val;
for (val in obj2) {
if (obj2.hasOwnProperty(val)) {
result[val] = obj2[val];
}
}
return result;
}
var defaults = {val1: 1, val3: 3, fish: 'fish'};
extend(defaults, {val2: 2}); // returns Object val1=1 val3=3 fish=fish val2=2
Run Code Online (Sandbox Code Playgroud)