Jump to content
Fórum Script Brasil
  • 0

Função eval && replace


Arash
 Share

Question

Eu tava pesquisando formas de transformar string em script, e achei o eval();

Mas eu to de mal com ele por enquanto <_<

Eu quero fazer x^2 virar Math.pow(x,2)

Então eu pensei logicamente em usar o replace, e eu acho que vai fica algo do tipo

// essa variavel função eu recebo de um campo, esse valor ai é só pra demostrar
x = 2;
função = "2x^2+3";
função.replace(/"x^2"/g,"Math.pow(x,2)");
alert(eval(função));

E tipo, eu não sei onde errei, por que o resultado nunca é o esperado! :wacko:

se alguém puder me ensinar sa bagaça ai, por que eu não achei em lugar nenhum

vlw :D

Edited by Arash
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Eu recebo de um campo com id("expressao"), por exemplo:

2x+3

function graf(){
    var c_canvas = document.getElementById("c");
var context = c_canvas.getContext("2d");
context.stroke();
context.beginPath();

f = document.getElementById("expressao").value;

// AKI !!! eu não sei, mas não consigo receber resultado esperado desse math.pow pirata ai rsrs, ou eu que não sei escrever em javascript mesmo

f.replace(/"x^2"/g,"Math.pow(x,2);
f = f.split(",");


for(x=-10;x<=10;x+=0.04){

fun = eval(f[i]);
y = (-50*fun)+(500); // 100 px = 1
x1 = (x*50)+520;
    context.lineTo(x1 ,y); // 100*x px = 1
    context.moveTo(x1 ,y);
}
context.strokeStyle = "red";
context.stroke();
}

Edited by Arash
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.

 Share



  • Forum Statistics

    • Total Topics
      150.9k
    • Total Posts
      648.8k
×
×
  • Create New...