Jump to content
php.lv forumi
  • 0

Iegut elementu no faila atrašanaš vietas!


Sephy

Question

Tatad man ir pienemsim masivs kura atrodas daudzas attēlu atrašanaš vietas

var galerija = new Array('bildes/koki.jpg', 'bildes/loki.jpg', 'rezerve/lokirez.jpg')

Kā lai paņem, piemeram galerija[0]='bildes/koki.jpg' lokāciju un uzdod to nevis kā string, bet gan kā koki.jpg bildi??

Edited by Sephy
Link to comment
Share on other sites

Recommended Posts

  • 0

(function(){
 var a=1
})();
alert(a);

//un

(function(){
 a=1
})();
alert(a);

 

ir atšķirīgas lietas, kamēr

 

a=new Array(1,2,3);
//un
a=[1,2,3];

 

ir identiskas.

 

Tieši tāpēc tavs apgalvojums, ka var mierīgi neizmantot "var" pirms mainīgā ir aplams un

pietam pirmajā citātā tu apgalvo, ka mierīgi var neizmantot "var", kamēr otrajā tu ar retoriski jautājumu apgalvo, ka tā tomēr nevar darīt.

Edited by codez
Link to comment
Share on other sites

  • 0

(function(){
 var a=1
})();
alert(a);

//un

(function(){
 a=1
})();
alert(a);

 

ir atšķirīgas lietas, kamēr

 

a=new Array(1,2,3);
//un
a=[1,2,3];

 

ir identiskas.

abos tavos piemēros ir neliela kļūda, uz vecām JS versijām būs kļūdas ziņojums, VAI kods vienkārši neizpildīsies :(

Par to arī šis stāsts.

---

Vispār jau pajautāju @rATRIJS kāpēc viņuprāt izmantot new array() ir Slikti (nevis nedrīkst, bet tieši kāpēc tā nedarīt).

--

P.S. Flame OFF. Negribu reliģiskos strīdus ...( un nav īpašas jēgas arī, kopā [vismaz foruma ietvaros] jādzīvo )

Link to comment
Share on other sites

  • 0

Es ceru, ka tu zini, ka var izmanto, lai definētu, ka mainīgais ir lokāls, kamēr bez var, tas ir globāls?

Tam ir konkrēts viennozīmīgs lietojums.

Es biki precizēšu: izmantojot "var" tiek definēts mainīgais tekošajā scope un uz leju pa scope kāpnēm. Bez "var", tiek meklēts tāds pats mainīgais, bet uz augšu pa scope kāpnēm, līdz atduras globālajā scope vai arī pret undefined.

 

P.S.

scope kāpnes - hehehe >:)

var v=1;
function b(){
alert(v);
}
function a(){
var v=2;
(function(){
		alert(v);
})();
var c=function(){
	alert(v);
}
b();
return c;
}
var f=a();
b();
f();

2 1 1 2

Link to comment
Share on other sites

  • 0

Starp citu, vēl vien lieta par "var" lietošanas un nelietošanas atšķirību globālā scopē.

Izveidojot mainīgo, tas tiek pieškirts kā propertijs skopes objektam, taču šim propertijam ir iekšējie flag-i.

Ir tāds flags DontDelete. Ja mainīgais tiek veidots ar var šis flags tiek ielikts, ja nē, tad nē. Ja šāds flags tiek pielikt, tad mainīgo nevar izdzēst ar delete operātoru. Tāpat DontDelete netiek piliekts, ja mainīgais tiek veidots kā globālā objekta propertijs (this.c).

Šo demonstrē šis js piemērs:

var a=1;
b=2;
this.c=3;

alert(typeof a); //number
alert(typeof b); //number
alert(typeof c); //number

delete a;
delete b;
delete c;

alert(typeof a); //number
alert(typeof b); //undefined
alert(typeof c); //undefined

Šo gan testēt vajag caur js failu, nevis caur konsoli, jo consolē kods tiek nedaudz savādāk palaists.

Link to comment
Share on other sites

  • 0

var A = 1;
function b(){
 A = 2;
}
function c(){
var A = 3;
alert(A); // Output 3
}

alert(A); //Output: 2

 




// Masivu papildinasana

// v1
var m = [];
m.push('a','b','c');
console.info(m); // Array(0=>'a',1=>'b',2=>'c');


// v2
var m = new Array();
m.push('a','b','c');
console.info(m); // Array(0=>'a',1=>'b',2=>'c');



// Jau gatavi masivi

// v1
var m = ['a','b','c'];
console.info(m); // Array(0=>'a',1=>'b',2=>'c');

// v2
var m = new Array('a','b','c');
console.info(m); // Array(0=>'a',1=>'b',2=>'c');



// Sudigs variants

// v1
var m = [];
m[0]='a';
m[1]='b';
m[2]='c';
console.info(m); // Array(0=>'a',1=>'b',2=>'c');

// v2
var m = new Array();
m[0]='a';
m[1]='b';
m[2]='c';
console.info(m); // Array(0=>'a',1=>'b',2=>'c');

Edited by EdgarsK
Link to comment
Share on other sites

  • 0

Vēl viena lieta, ir tāda, ka jaunajā ECMA Sript 5 versijā, mainīgos var definēt tikai ar "var", vai kā propertijus un bez var tiek mesta kļūda:

"use strict";
var a=1;
this.b=2;
alert(a); //1
alert(b); //2
c=3; //Uncaught ReferenceError: c is not defined

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...