Newsgroup: it.comp.lang.javascript
Titolo: [?]  Firefox:Errore di sintassi

Buongiorno/Buonasera a tutti
Ambiente: Windows server 2003 (ma credo importi poco)
Problema: codice finzionante in I.E.(6.0) e non funzionante in Firefox
       (1.0.6 Italian ma anche sul precedente 1.0.2 English)
Errore ricevuto: "Missing ( before formal parameters"
il codice:
if(!window.AXA){
	 var AXA={}
}
//if(!AXA.Fields){
//	 AXA.Fields={}
// }
function AXA(){}
function AXA.Fields(){}  <--------qui js console segnala errore
                            posizione indicata tra . e F
il tutto lanciato da:
var obj = new AXA.Fields("CIGO")
Da una ricerca l'errore riscontrato puo' derivare dall'uso di
parole riservate. Come si puo' vedere dal codice ho tolto
praticamente tutto ma continuo a ricevere l'errore. Ho
fatto la prova anche con le istruzioni che ho annotato
Ringraziamenti anticipati
--
a.cara
P.S. "finzionante" e' un errore ma e' troppo carino e l'ho lasciato com'e'

                            posizione indicata tra . e F
Non sono sicuro, ma non mi sembra che sia possibile definire un oggetto come 
funzione oggetto.
Cooper.
-- 
BlueWare WebStudio
 [web:] 
http://www.blueware.it
 [msn:] 
coo...@blueware.it
 [icq:] 146781935 

 
ciao Cooper
Anzitutto ti ringrazio.
Quella costruzione l'ho presa da un "bel" pezzo di codice che ho 
prelevato dalla rete e che copio incollo. Il bello e' che quella
funziona perfettamente (la lascio cosi' com'e' e' in licenza GPL)
if(!window.Active){
	 var Active={}
}
if(!Active.System){
	 Active.System={}
  }
.........qui c'e' un pezzo di codice che non dovrebbe interessare (forse)
Active.System.Object=function(){};<-------qui la costruzione "borrowed"
Active.System.Object.subclass=function(){<--costruttore troppo per me
	var constructor=function(){this.init()};
	for(var i in this)
		{constructor[i]=this[i]}
	constructor.prototype=new this();
	constructor.superclass=this;
	return constructor
};
-----
avevo iniziato a risponderti  e poi mi e' venuto di fare una prova
ora il tutto funziona cosi':
if(!window.AXA){
	 var AXA={}
}
AXA.Fields=function(uName,uValue){
	this.Active =null
	this.Delimiters = [":","="]
	this.Name= arguments.length==0?"":uName
	this.Elements={}
	this.Parent = null
	this.Type = uValue==null?"key":"token"
	this.Value = arguments.length>1?uValue:""
	/**   - - - - - - - Methods   - - - - - - - - - */
	this.isKey= function() { return this.Type=="key"?true:false}
	this.isToken= function() { return this.Type=="token"?true:false}
	this.isValue= function() { return this.Type=="value"?true:false}
};
AXA.Fields.prototype.getToken = function (delimiter) {
		return 
this.isToken?this.Name+delimiter+this.Value:this.isValue?this.Value:this.Name
}
ora devo verificare che funzioni anche tutto il resto.
Grazie di nuovo
--
a.cara

var obj = new AXA.Fields("CIGO")
Usa qualcosa del tipo:
function AXA(){
}
AXA.prototype.fields={
}
var obj = new AXA;
Dipende anche da quello che devi fare, che da quanto riporti non si
capisce molto, ad esempio, se devi settare delle properties in
AXA.fields puoi usare qualcosa del tipo:
function AXA(){
}
AXA.prototype.fields={
}
AXA.prototype.setfields=function(v){
 this.fields.value=v;
}
 var a=new AXA;
 a.setfields("CCCC");
 alert(a.fields.value);
'bye

 
questo non mi serve perche' AXA, di fatto, e' solo un nome "container"
Come avrai visto nel mio post successivo ho poi risolto cambiando la
definizione del costruttore AXA.Fields. Cioe' cosi':
if(!window.AXA){
    var AXA={}
}
AXA.Fields=function(uName,uValue){
.....bla bla
}
AXA.Fields.prototype.method1 = function {...ribla...}
..........
AXA.Fields.prototype.methodn = function {...fine ribla..}
e poi
obj = new AXA.Fields(p1,p2)
in questo modo funziona sia in i.e. che in fx.
La cosa che mi sorprende un po' e' che, al di la di quelle che
possono essere le posizioni rispetto a Microsoft vs Altri (o viceversa),
non mi aspettavo di trovare differenze cosi' "pesanti" 
nell'interpretazione del js.
Come dice ZERO  ;<) sara' perche' confondo js con JScript?
Tra cidiesis, giava, giavascript, geiscript, isimeiscript
gechi e mozilli sto facendo la fortuna dello psicologo.
grazie e saluti
--
a.cara