javascript父子通信

<script language="javascript" defer="defer">
var parent = 
{
    //
    say:function ()
    {
        //
        alert("parent_say");
    },
    alert:function ()
    {
        //
        alert("parent");
        this.say();
    }
};
//

parent.addChild("child",
    {
        //
        say:function ()
        {
            //
            alert("child_say");
        },
        alert:function ()
        {
            //
            alert("child");
            this.parent.say();
        }
    }
);
//parent.child.alert();
//parent.alert();
var c = parent.child;
c.alert();
</script>

<script language="javascript">
Object.prototype.addChild=function(oName, obj)
{
    eval("var p=this."+oName+"= new Object()");
    this[oName]=obj;
    this[oName].parent=this;
}
</script>
效果演示:

var parent =
{
//
say:function ()
{
//
alert("parent_say");
},
alert:function ()
{
//
alert("parent");
this.say();
}
};
//

parent.addChild("child",
{
//
say:function ()
{
//
alert("child_say");
},
alert:function ()
{
//
alert("child");
this.parent.say();
}
}
);
//parent.child.alert();
//parent.alert();
var c = parent.child;
c.alert();

Object.prototype.addChild=function(oName, obj)
{
eval("var p=this."+oName+"= new Object()");
this[oName]=obj;
this[oName].parent=this;
}

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • javascript父子通信

    <script language="javascript" defer="defer"> var parent =  {     //     say:function ()     {         //         alert("parent_say");     },     alert:function ()     {         //         alert("parent");     

  • vue中利用prop进行父子通信时的注意事项总结

    目录 注意点一 注意点二 注意点三:单项数据流 注意点四 总结 注意点一 当在组件上传入一个普通的字符串时,我们可以直接这样写: <one name="张三"></one> 需要注意的是,当我们想要传入数字时,我们需要使用v-bind绑定一个数字,否则无法识别数字,vue会认为你传入的是一个字符串数字. 特殊的值包括:向字符键传这些类型的数据时,都需要使用v-bind来告诉vue,我们传输的是静态的值. 数字 布尔值 数组 对象 <one name=&qu

  • JavaScript父子窗体间的调用方法

    本文实例讲述了JavaScript父子窗体间的调用方法.分享给大家供大家参考.具体如下: 如果要打开一个新窗口,使用 window.open( ) 方法. 如果要关闭自身窗口,使用 window.close( ) 方法. 一.父窗体 为了便于父窗口操作子窗口,可以为 window.open( ) 方法定义一个变量,例如: var opW = window.open("tests.html","popup","width=300,height=300&quo

  • javascript父子页面通讯实例详解

    本文实例讲述了javascript父子页面通讯的实现方法.分享给大家供大家参考.具体分析如下: 如果一个domain为 www.abc.com的页面内部包含一个name属性值为childFrame的iframe,并且这个iframe的domain为 static.abc.com.那么可以通过设置父页面的domain为abc.com,子页面的domain也为abc.com,然后实现父子页面通讯(我这里有点混淆父子页面和跨域的概念. 不采用上面的方法也是可以实现父子页面相互访问的. 方法是:在父页面

  • vue父子组件通信的高级用法示例

    前言 vue项目的一大亮点就是组件化.使用组件可以极大地提高项目中代码的复用率,减少代码量.但是使用组件最大的难点就是父子组件之间的通信. 子通信父 父组件 <template> <div class="parent"> 我是父组件 <!--父组件监听子组件触发的say方法,调用自己的parentSay方法--> <!--通过:msg将父组件的数据传递给子组件--> <children :msg="msg" @s

  • JavaScript 如何实现同源通信

    目录 一.Broadcast Channel API 简介 二.Broadcast Channel API 应用场景 2.1 实现同源页面间数据同步 2.2 在其它 Tab 页面中监测用户操作 三.Broadcast Channel API vs postMessage API 四.总结 五.参考资源 一.Broadcast Channel API 简介 Broadcast Channel API 可以实现同源下浏览器不同窗口.Tab 页或者 iframe 下的浏览器上下文之间的简单通讯.通过创

  • vue组件间通信六种方式(总结篇)

    前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.一般来说,组件可以有以下几种关系: 如上图所示,A 和 B.B 和 C.B 和 D 都是父子关系,C 和 D 是兄弟关系,A 和 C 是隔代关系(可能隔多代). 针对不同的使用场景,如何选择行之有效的通信方式?这是我们所要探讨的主题.本文总结了vue组件间通信的几种方式,如props. $emit / $on .vuex. $parent / $children . $attrs

  • 详解vue组件通信的三种方式

    1. 第一种方式就是官方推荐的 官方推荐方式 有时候两个组件也需要通信(非父子关系).在简单的场景下,可以使用一个空的 Vue 实例作为中央事件总线. 本质是通过派发事件然后监听事件从而更改值,(父子组件通信也可用这个方式,但是不同的一点就是父子组件通信的时候可以不用一个空的Vue实例来做中转,这种方式我这里就不做演示的了,因为我的题目是非父子通信) 空的Vue实例 bus import Vue from 'vue' const bus = new Vue() export default bu

  • Javascript与flash交互通信基础教程

    下面是一些在Flash和使用Javascript的HTML文件直接通信的示例,每个示例都有简略的步骤 本文讨论了3种基本的Flash/Javascript通信方式: Javascript 到 Flash的通信----使用Flash播放器的javascript方法 Flash 到 Javascript的通信----使用Flash的fscommand Flash 到 Flash的通信----------使用本地连接对象或综合上2种技术 并不是所有的浏览器都很重视脚本.为了和Flash播放器通信,浏览

  • React组件间通信的三种方法(简单易用)

    目录 一.父子组件通信 二.跨级组件通信 1.逐层传值 2.跨级传值 三.兄弟(无嵌套)组件通信 四.路由传值 五.Redux React知识中一个主要内容便是组件之间的通信,以下列举几种常用的组件通信方式,结合实例,通俗易懂,建议收藏. 一.父子组件通信 原理:父组件通过props(与vue中的props区分开)向子组件通信,子组件通过回调事件与父组件通信. 首先,先创建一个父组件Parent.js跟子组件Children.js,二者的关系为直接父子关系. Parent.js父组件如下,给父组

随机推荐