gpt4 book ai didi

javascript - 如何从 Chrome 控制台调用类的构造函数到 'create'?

转载 作者:行者123 更新时间:2023-12-03 10:01:58 25 4
gpt4 key购买 nike

问题:如何从 chrome 控制台创建 var a1 = Animal('red', 4, 'frank);

我在使用 es6 时创建了一个类。

"use strict";
class Animal{
constructor(color, legs, name){
this.color = color;
this.legs = legs;
this.name = name;
}
}
export default Animal;

chrome 控制台输入 + 错误

>  var frank = new Animal('red', 4, 'henry');
Uncaught ReferenceError: Animal is not defined
at <anonymous>:2:17
at Object.InjectedScript._evaluateOn (<anonymous>:895:140)
at Object.InjectedScript._evaluateAndWrap (<anonymous>:828:34)
at Object.InjectedScript.evaluate (<anonymous>:694:21)(anonymous function) @ VM13736:2InjectedScript._evaluateOn @ VM13308:895InjectedScript._evaluateAndWrap @ VM13308:828InjectedScript.evaluate @ VM13308:694

Index.html

    <script src="../jspm_packages/system.js"></script>
<script src="../config.js"></script>
<script>
System.import('reflect-metadata')
.then(function(){
return System.import('client/app/animal/animal');
})
.then(function(Animal){
window.Animal = Animal;

})
.catch(console.log.bind(console));
</script>

更新:我已经更新了第二个 promise ,将 Animal 设置为窗口 && 我已经在控制台中进行了测试。 :( 还是没有运气 object is not a function

这就是 BableJs 将类向下编译为的内容:

var Animal = function Animal(color, legs, name) {


this.color = color;
this.legs = legs;
this.name = name;
};

enter image description here

最佳答案

我对 System API 不太熟悉,但假设 Promise 已通过模块解决似乎是合理的。要从控制台将其作为全局变量访问,您可以将其分配给window

您提到您正在使用 Babel。 Babel 将默认导出分配给模块的 default 属性:

System.import('client/app/animal/animal').then(function(module) {
window.Animal = module.default;
});

关于javascript - 如何从 Chrome 控制台调用类的构造函数到 'create'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30554600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com