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 这样形式的。
解决方案 »
- struts.xml中的action打开一个首页
- javascript文件怎么连接数据库
- textbox的onblur和button的onclick的问题
- JS操作body
- 您能寫出等價的javascript 代碼嗎? 下面是完全正確的vbscript 代碼
- 关于ie6不兼容的问题求大神
- 请教:如何实现在网页上导出excel(office97,2000,2003)都能用。
- 在客户端实现一段
- 请问javascript能实现如下功能吗?如果可以请给出程序!
- 为什么呀?一个gif图片,为啥闪了几次就不闪了???
- 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]);
}
谢谢各位、结贴。