js了解不多。
现在遇到一个简单的问题。
找了google baidu半天也没找到。var name = "name";
var pass ;//不设置pass值
var obj = {
'name':name,
'pass':pass //我该如何判断这个pass没值或者不存在我才放入obj中呢?还有如何放。
};//是这样吗?还有别的方法没
//if(pass != null && pass != ""){
// obj['pass']=pass;
//}for(var i in obj){
alert(i);
alert(obj[i]);
}如果我设置了pass值 obj就放入这个pass key - value 这样形式的。
现在遇到一个简单的问题。
找了google baidu半天也没找到。var name = "name";
var pass ;//不设置pass值
var obj = {
'name':name,
'pass':pass //我该如何判断这个pass没值或者不存在我才放入obj中呢?还有如何放。
};//是这样吗?还有别的方法没
//if(pass != null && pass != ""){
// obj['pass']=pass;
//}for(var i in obj){
alert(i);
alert(obj[i]);
}如果我设置了pass值 obj就放入这个pass key - value 这样形式的。
解决方案 »
- 怎样把UTC国际时间转换成本地时间
- javascript想实现此功能
- 求form中action转换的javascrpit代码
- 这个怎么实现啊?日期的问题!
- 关于非官方插件treegrid里AdjacencyListStore的问题
- 菜鸟问题,急啊!!
- 关于文件选择对话框!在线等待...
- 怎么能让画面上所有的文本框都不能输入
- JScript调用AcitveX对象问题
- javascript的onclick问题,急...............................................
- js $(":radio") 居然有错误说 溢出
- 困扰许久的一个JS 正则表达式,如何解析?
var pass ;//不设置pass值
var obj = {
'name':name,
'pass':pass //我该如何判断这个pass没值或者不存在我才放入obj中呢?还有如何放。
};
for(var i in obj){
if(!obj[i]){
delete obj[i];
}
}
for(var i in obj){
alert(i);
alert(obj[i]);
}
不是很明白你的意思
换一种构造方式 var name = "name";
var pass ;//不设置pass值
var obj={};
if(name)
{
obj.name=name;
}
if(pass)
{
obj.pass = pass;
}for(var i in obj){
alert(i);
alert(obj[i]);
}
var pass ;//不设置pass值
var obj = {
'name':name,
'pass':pass //我该如何判断这个pass没值或者不存在我才放入obj中呢?还有如何放。
};
console.log(obj.pass);//直接看pass的值
'name':name,
'pass':pass || 'default value'
};
判断 pass 是否为空:if (!obj.pass)如果 pass 不在 obj 或 obj.pass 为空 则给 obj.pass 赋值 '123',代码为:
if (!(pass in obj) || !obj.pass) obj.pass = '123';要给 JS 对象增加一个属性,直接写就行,所以 obj.pass 能给 obj 增加一个 pass 属性。其实,创建对象可以这样做:var obj = {}; // 创建空对象
obj.name = 'abc'; // 增加 name 属性并赋值
obj.pass = '123'; // 增加 pass 属性并赋值
就是说。如果 pass有值 (非空 非undefined 等等校验) 就放入obj里
如果没值 pass就不放入obj里,包括属性也不放入
类似这样
伪代码:
var obj = {};
if(pass has value){
obj = {
name: nameValue,
pass : passValue
}}else{
obj = {
name: nameValue
}
}
'name':name,
'pass':pass || '';
};
var obj = {
'name':name,
'pass':pass || 'default value'
};var obj = {
'name':name,
'pass':pass ? pass : 'default value'
};
不是想要的效果。我的意思是 有个对象 obj ,我要把东西post到后台。该属性有值 我就把属性和值 这样给过去。没有值不给该属性和值(也不给默认)。伪代码就是8楼那样的。
意思就是有obj,里面肯定有name,但是不一定有pass。
有pass呢 就给obj设定pass属性和value值。 没有就不给该obj设定pass属性和value值然后post到后台给别人处理。也就是说
pass有值 obj 就显示 obj有name 和pass 的俩个属性并且值都有。
pass没有值 obj就显示 obj只有name 和name的值( 没有pass字段和pass值)
并不是预期的效果。
还是会给pass个默认值。
我的意思是不给pass属性和值。具体效果可以看下12楼
obj.pass=pass
}
for(var i in obj){
alert(obj[i]);
}
obj.pass=pass
}
for(var i in obj){
alert(obj[i]);
}
var pass ;//不设置pass值
var obj={};
if(name)
{
obj.name=name;
}
if(pass)
{
obj.pass = pass;
}
for(var i in obj){
alert(i);
alert(obj[i]);
}
谢谢各位、结贴。