Я прочитал некоторые материалы, в которых говорится, что eval - это зло, eval можно заменить каким-либо способом.Приведенный ниже фрагмент кода может вызывать api цены акций sinajs. Когда вы набираете тикер какой-либо компании в input
, его цена будет отображаться в окне console.log, например, для ввода 600020
.
function stock(){
ticker = $("#code").val();
$.ajax({
type : "GET",
url : "http://hq.sinajs.cn/list=sh" + ticker,
dataType : "script",
cache : "false",
timeout : 2000,
success : function(data) {
sname = eval("hq_str_sh" + ticker);
console.log(sname);},
error : function() {alert("wrong");}
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
tiker:
<input id="code" type="text" size="10">
<input id="Search" type="button" onclick="stock()" value="query">
Как заменить функцию eval каким-либо методом для приведенного ниже фрагмента кода?
success : function(data) {
sname = eval("hq_str_sh" + ticker);
console.log(sname);},
Это моя попытка:
success : function(data) {
window["myTicker"] = "hq_str_sh" + ticker;
console.log(myTicker);},
Не удалось.