JS问题,尝试给window添加全局变量,但是报错了

发布于 2022-09-13 00:01:41 字数 2007 浏览 21 评论 0

问题描述

我希望给window里面添加MobileWindow,然后这个MobileWindow作为全局变量,其他的函数能够访问到,但是报错了

具体代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    .t1 {
      width: 500px;
      height: 200px;
      background: #0C9A9A;
    }
  </style>
</head>
<body>

<div>
  <div class="t1">
    按钮
  </div>
</div>

<script>

  (function(){
    MobileWindow.prototype = {
      name: 123
    }
    window.MobileWindow = MobileWindow
  })()

  window.onload = function () {
    initClickEven()
  }

  function initClickEven() {
    document.getElementsByClassName('t1')[0].onclick = function () {
      console.log('t1');
      console.log(MobileWindow.name);
    }
  }

</script>
</body>
</html>

感谢楼下提供思路

方案1

<script>

  (function(){
    // function MobileWindow () {
    //
    // }
    // MobileWindow.prototype = {
    //   name: 123
    // }
    // window.MobileWindow = MobileWindow
    window.MobileWindow = Object.create({name: 325})
  })()

  window.onload = function () {
    initClickEven()
  }

  function initClickEven() {
    document.getElementsByClassName('t1')[0].onclick = function () {
      console.log('t1');
      console.log(MobileWindow.name);
    }
  }

</script>

方案2

<script>

  (function(){
    function MobileWindow () {

    }
    MobileWindow.prototype = {
      name: 123
    }
    window.MobileWindow = MobileWindow
    // window.MobileWindow = Object.create({name: 325})
  })()

  window.onload = function () {
    initClickEven()
  }

  function initClickEven() {
    document.getElementsByClassName('t1')[0].onclick = function () {
      console.log('t1');
      // console.log(MobileWindow.name);
      console.log(new MobileWindow().name);
    }
  }

</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一身仙ぐ女味 2022-09-20 00:01:41
 (function () {
   window.MobileWindow = function () {};
   MobileWindow.prototype = {
     name: 123,
   };
 })();

 window.onload = function () {
   initClickEven()
 };

 function initClickEven() {
   console.log(new MobileWindow().name);
 }
森林迷了鹿 2022-09-20 00:01:41

我猜你想要的是这种?

爱的故事 2022-09-20 00:01:41
  (function(){
    MobileWindow = {
      name: 123
    }
    window.MobileWindow = MobileWindow
  })()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文