比如有对象var obj = {
companyname:function(option){
var format = validateRules.isCompanyname(option.value);
var length = validateRules.betweenLength(option.value,1,50);
var opt = option;
if(!format || !length){
if(!format) opt.errInfo = option.prompts.error.badFormat;
if(!length) opt.errInfo = option.prompts.error.badLength;
validateFunction.errorfunc(opt);
}else{
validateFunction.succefunc(option);
}
}//companyname end
,companyaddr:function(option){
var format = validateRules.isCompanyname(option.value);
var length = validateRules.betweenLength(option.value,1,50);
var opt = option;
if(!format || !length){
if(!format) opt.errInfo = option.prompts.error.badFormat;
if(!length) opt.errInfo = option.prompts.error.badLength;
validateFunction.errorfunc(opt);
}else{
validateFunction.succefunc(option);
}
}
}
因为companyname和companyaddr属性是一样的函数,我想简写为var obj = {
companyname:function(option){
var format = validateRules.isCompanyname(option.value);
var length = validateRules.betweenLength(option.value,1,50);
var opt = option;
if(!format || !length){
if(!format) opt.errInfo = option.prompts.error.badFormat;
if(!length) opt.errInfo = option.prompts.error.badLength;
validateFunction.errorfunc(opt);
}else{
validateFunction.succefunc(option);
}
}//companyname end
,companyaddr:this.companyname
}
改了后提示object is not a function,不能正确引用函数js对象内怎么复制属性?
在线等
companyname:function(option){
var format = validateRules.isCompanyname(option.value);
var length = validateRules.betweenLength(option.value,1,50);
var opt = option;
if(!format || !length){
if(!format) opt.errInfo = option.prompts.error.badFormat;
if(!length) opt.errInfo = option.prompts.error.badLength;
validateFunction.errorfunc(opt);
}else{
validateFunction.succefunc(option);
}
}//companyname end
,companyaddr:function(option){
var format = validateRules.isCompanyname(option.value);
var length = validateRules.betweenLength(option.value,1,50);
var opt = option;
if(!format || !length){
if(!format) opt.errInfo = option.prompts.error.badFormat;
if(!length) opt.errInfo = option.prompts.error.badLength;
validateFunction.errorfunc(opt);
}else{
validateFunction.succefunc(option);
}
}
}
因为companyname和companyaddr属性是一样的函数,我想简写为var obj = {
companyname:function(option){
var format = validateRules.isCompanyname(option.value);
var length = validateRules.betweenLength(option.value,1,50);
var opt = option;
if(!format || !length){
if(!format) opt.errInfo = option.prompts.error.badFormat;
if(!length) opt.errInfo = option.prompts.error.badLength;
validateFunction.errorfunc(opt);
}else{
validateFunction.succefunc(option);
}
}//companyname end
,companyaddr:this.companyname
}
改了后提示object is not a function,不能正确引用函数js对象内怎么复制属性?
在线等
解决方案 »
- json问题:在页面不显示
- self和this
- javascript中<select>没有onselect事件,如何实现...
- 在table的td中动态显示select.option数组中的text,在线等待
- 能不能实现这样的页面
- 这段代码有什么错,我实在看不出
- 有没有开发javascript的IDE,就像JBuilder似的,自动提示方法?
- 急!!!请问在List/Menu中,选择不同选项,如何弹出不同页面,在线等待!
- 这段程序用VBSCRIPT如何实现???
- 求助 ,为什么PUSH进去会报错
- 好用的jQuery插件: 固定表格标题行或列头
- 有三个标签,它们的class相同,ID不同,如何通过jQuery更改它们的标签内容?
var tmp=function(option){
var format = validateRules.isCompanyname(option.value);
var length = validateRules.betweenLength(option.value,1,50);
var opt = option;
if(!format || !length){
if(!format) opt.errInfo = option.prompts.error.badFormat;
if(!length) opt.errInfo = option.prompts.error.badLength;
validateFunction.errorfunc(opt);
}else{
validateFunction.succefunc(option);
}
};
obj={companyname:tmp,companyaddr:tmp};
tmp=null;
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script>
var tmp=function(option){
alert(option);
var format = validateRules.isCompanyname(option.value);
var length = validateRules.betweenLength(option.value,1,50);
var opt = option;
if(!format || !length){
if(!format) opt.errInfo = option.prompts.error.badFormat;
if(!length) opt.errInfo = option.prompts.error.badLength;
validateFunction.errorfunc(opt);
}else{
validateFunction.succefunc(option);
}
};
obj={companyname:tmp,companyaddr:tmp};
tmp=null;
</script>
</head> <body>
<input type="button" id="btnTest" onclick="obj.companyname('companyname')" value="测试1"><br/>
<input type="button" id="btnTest" onclick="obj.companyaddr('companyaddr')" value="测试2">
</body>
</html>
companyname:function(option){
var format = validateRules.isCompanyname(option.value);
var length = validateRules.betweenLength(option.value,1,50);
var opt = option;
if(!format || !length){
if(!format) opt.errInfo = option.prompts.error.badFormat;
if(!length) opt.errInfo = option.prompts.error.badLength;
validateFunction.errorfunc(opt);
}else{
validateFunction.succefunc(option);
}
}//companyname end
,companyaddr:this.companyname//这里的this指向的是window对象
}注意最后一排的注释
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script>
var obj = {
companyname:function(option){
var format = validateRules.isCompanyname(option.value);
var length = validateRules.betweenLength(option.value,1,50);
var opt = option;
if(!format || !length){
if(!format) opt.errInfo = option.prompts.error.badFormat;
if(!length) opt.errInfo = option.prompts.error.badLength;
validateFunction.errorfunc(opt);
}else{
validateFunction.succefunc(option);
}
}//companyname end
,companyaddr:function(option){}
}
obj.companyaddr = obj.companyname;
</script>
</head> <body>
<input type="button" id="btnTest" onclick="obj.companyname('companyname')" value="测试1"><br/>
<input type="button" id="btnTest" onclick="obj.companyaddr('companyaddr')" value="测试2">
</body>
</html>
var obj = {
companyname:function(option){
var format = validateRules.isCompanyname(option.value);
var length = validateRules.betweenLength(option.value,1,50);
var opt = option;
if(!format || !length){
if(!format) opt.errInfo = option.prompts.error.badFormat;
if(!length) opt.errInfo = option.prompts.error.badLength;
validateFunction.errorfunc(opt);
}else{
validateFunction.succefunc(option);
}
}//companyname end
,companyaddr:obj.companyname
}
var obj={
test:'test',
a:this.test,//这里的this指向window对象,可以理解为在定义obj时obj未完全建立,this指向当前执行时网上搜索的第一个有效作用域,为当前window对象。
fun:function(){//这里的this指向的是obj,可以理解为在调用obj.fun时obj已经建立完成,执行fun函数时this网上搜索的第一个有效作用域为obj。
alert(this.test);
alert(this.a);
}
};
obj.fun();
var clazz=function(tmp){//构造函数,这个就不解释了,跟上面的又不太一样(实际上这里我解释不来……只知道构造函数建立实例对象时,函数体内的this指向建立的实例对象)
this.companyname=tmp;
this.companyaddr=tmp;
};
obj=new clazz(function(option){
var format = validateRules.isCompanyname(option.value);
var length = validateRules.betweenLength(option.value,1,50);
var opt = option;
if(!format || !length){
if(!format) opt.errInfo = option.prompts.error.badFormat;
if(!length) opt.errInfo = option.prompts.error.badLength;
validateFunction.errorfunc(opt);
}else{
validateFunction.succefunc(option);
}
}
);