vue中给window对象上添加属性的方法

177 阅读1分钟

web页面通讯方法、window.open打开新页面,父子页面通讯的方法最直接的就是获取对方的window对象进行调用父子各自得属性及方法。 下面是整理的几种通讯得方法仅供参考

第一种 // 第一种方法 直接对window进行添加

    -----箭头函数-----
  window.callAnswer = (value) => {
    this.callAnswer(value) // 传参数
  }
  window.hangUp = () => {
    this.hangUp() // 不传参数
  }

    -----普通函数-----
  window.callAnswer = function (value) {
    return this.callAnswer(value) // 传参数
  }
  window.hangUp = function () {
    return this.hangUp() // 不传参数
  }


  添加对象、字符串、数字等......都可以
  window.age = 18
  window.name = '小张'
  window.name = { name: '小张', age: 18 }
  ......

第二种 //第二种方法 使用jquery进行编程可以使用jq得extend方法

  $.extend(window, {
    a: function () {},
    b: function () {},
    c: function () {}
  })

  这中和之前的一样,添加对象、字符串、数字、箭头函数等......

第三种 // 第三种方法 就是单独建立一个js文件引入执行 () => { let obj = { a: function () {}, b: function () {}, c: function () {} } Object.keys(obj).forEach((key) => { window[key] = obj[key] }) } )()

     这种方法就是将需要添加的属性统一放在一个js文件中,创建一个对象,
     在使用Object.keys方法将其转换成一个给定对象的自身可枚举属性组成的数组,
     进行forEach循环添加赋值。
    
     看着高级一点

第四种 // 第四种方法 构造函数

  function All() {}

  All.prototype = {
    a: function () {},
    b: function () {},
    c: function () {}
  }
  window.func = new All()

先创建一个函数再其函数的原型上添加对应的属性方法,再将其赋值给在window自定义的属性上