Почему, когда вы вызываете toString() для функции с помощью quokka, она возвращает строку с добавленными дополнительными переменными?
Я учусь использовать прототипы для расширения функциональности объектов. Но когда дело доходит до функций, я столкнулся с препятствием: когда я записываю функцию в строку, она возвращает то, чего я не понимаю. Например, учитывая:
function foo() {
var a = 1
var b = 2
return a + b
}
console.log( foo.toString() )
Вы получаете:
`function foo() {
var $_$c = $_$wf(1);
var a = ($_$w(1, 130, $_$c), 1);
var b = ($_$w(1, 131, $_$c), 2);
return $_$w(1, 132, $_$c), a + b;
}`
Я ожидал получить:
`function foo() {
var a = 1
var b = 2
return a + b
}`
Почему?
2 ответа
Я пробую этот пример вернуть
`function foo() {
var $_$c = $_$wf(1);
var a = ($_$w(1, 130, $_$c), 1);
var b = ($_$w(1, 131, $_$c), 2);
return $_$w(1, 132, $_$c), a + b;
}`
а затем я создал объект и поместил в него функцию и попытался вернуть его как toString, а также он работает правильно
Попробуй это:
function foo() {
var a = 1
var b = 2
return a + b
}
console.log(foo);
let x = foo.toString();
console.log(typeof x) // This should return a string
Когда вы печатаете 'x', он также должен выдавать код в виде строки.