HighDots Forums  

[?] Firefox:Errore di sintassi

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss [?] Firefox:Errore di sintassi in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Alessandro Cara
 
Posts: n/a

Default [?] Firefox:Errore di sintassi - 08-29-2005 , 12:36 PM






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'



Reply With Quote
  #2  
Old   
Cooper
 
Posts: n/a

Default Re: [?] Firefox:Errore di sintassi - 08-29-2005 , 12:41 PM






Alessandro Cara wrote:
Quote:
function AXA.Fields(){} <--------qui js console segnala errore
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:] cooper (AT) blueware (DOT) it
[icq:] 146781935




Reply With Quote
  #3  
Old   
Alessandro Cara
 
Posts: n/a

Default Re: [?] Firefox:Errore di sintassi - 08-29-2005 , 02:58 PM



Cooper wrote:
Quote:
Alessandro Cara wrote:

function AXA.Fields(){} <--------qui js console segnala errore
posizione indicata tra . e F


Non sono sicuro, ma non mi sembra che sia possibile definire un oggetto come
funzione oggetto.
Cooper.


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.i sValue?this.Value:this.Name
}


ora devo verificare che funzioni anche tutto il resto.
Grazie di nuovo
--
a.cara




Reply With Quote
  #4  
Old   
Agostino De Matteis
 
Posts: n/a

Default Re: [?] Firefox:Errore di sintassi - 08-29-2005 , 05:19 PM



On Mon, 29 Aug 2005 18:36:36 +0200, Alessandro Cara
<alex (AT) puntablunet (DOT) it> wrote:

Quote:
il codice:
if(!window.AXA){
var AXA={}
}
//if(!AXA.Fields){
// AXA.Fields={}
// }
function AXA(){}
Se AXA lo definisci qui perche' fai un controllo sopra?

Cosi' hai un warning

Warning: redeclaration of var AXA
Source File: file:///F:/myweb/tests/testobj00.html#
Line: 20, Column: 15
Source Code:
function AXA(){}

Quote:
function AXA.Fields(){} <--------qui js console segnala errore
posizione indicata tra . e F

Ovviamente, qui AXA e' interpretato come una function non come un
object.

Quote:
il tutto lanciato da:
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


Reply With Quote
  #5  
Old   
Alessandro Cara
 
Posts: n/a

Default Re: [?] Firefox:Errore di sintassi - 08-30-2005 , 02:27 AM



Agostino De Matteis wrote:
Quote:
On Mon, 29 Aug 2005 18:36:36 +0200, Alessandro Cara
alex (AT) puntablunet (DOT) it> wrote:

Ciao Agostino grazie per l'interessamento

Quote:
il codice:
if(!window.AXA){
var AXA={}
}
//if(!AXA.Fields){
// AXA.Fields={}
// }
function AXA(){}


Se AXA lo definisci qui perche' fai un controllo sopra?
Questa era venuta fuori dal fatto che, inizialmente, ho provato
con i.e. ed in questo modo funzionava mentre ometto
function AXA(){}
non funziona

Quote:
Cosi' hai un warning

Warning: redeclaration of var AXA
Source File: file:///F:/myweb/tests/testobj00.html#
Line: 20, Column: 15
Source Code:
function AXA(){}
vedo che hai provato ;<)

Quote:

function AXA.Fields(){} <--------qui js console segnala errore
posizione indicata tra . e F



Ovviamente, qui AXA e' interpretato come una function non come un
object.


il tutto lanciato da:
var obj = new AXA.Fields("CIGO")


Usa qualcosa del tipo:

function AXA(){
}

AXA.prototype.fields={
}


Quote:
var obj = new AXA;

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












Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.