• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

195
Vistas
¿Por qué function.toString() genera "[código nativo]", mientras que iniciar sesión en la consola muestra directamente el código fuente de la función?

Decidí crear un script de usuario para el chat en vivo de YouTube. Aquí está el código:

 const toString = Function.prototype.toString unsafeWindow.setTimeout = function (fn, t, ...args) { unsafeWindow.console.log(fn, fn.toString(), toString.call(fn)) unsafeWindow.fns = (unsafeWindow.fns ?? []).concat(fn) return setTimeout(fn, t, ...args) }

Ahora mira cómo se ve la salida:

ingrese la descripción de la imagen aquí

El resultado de algunas de las funciones es predecible, ¡pero mire las otras! Cuando simplemente lo haga console.log , verá el cuerpo de la función, pero si llama a fn.toString() , verá function () { [native code] } .

¿Pero por qué? El script se carga antes que la página, por lo que los scripts de YouTube no pueden reemplazar los métodos.

about 3 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda