zoukankan      html  css  js  c++  java
  • JavaScript传递对象参数到方法里的另一种方法(对象字面量)

    方法函数:

        function sendMessage(sMsg,oObj) {
           
    if (arguments.length == 2) {
               oObj.handleMsg(sMsg);
               oObj.test();
           } 
    else {
               alert(sMsg);
           };
        }

        sendMessage(
    "Hello world!");

    普通的方法传递:

        function obj() {
        }

        obj.prototype.handleMsg 
    = function(sMsg) {
            alert(
    "This is a custom message: " + sMsg);
        };
        obj.prototype.test 
    = function() {
            alert(
    "test");
        };

        sendMessage(
    "asdfsdasdfdfa"new obj);

    另一种方法(对象字面量):

        //这里传进去了两个参数,第二个为一个对象。
         //该对象有一个方法handleMsg()
        sendMessage("How are you?", { 
            handleMsg: 
    function(sMsg) { 
               alert(
    "This is a custom message: " + sMsg);
            },                       
            test: 
    function(){
                alert(
    "test");
            }
        });

    对这样的方法传递不是很理解,不过也可以。牛人给指点一下

    补充:

    这种方法在《深入浅出JavaScript》中被称为对象字面量

    创建对象的方法:
        
    var obj = new object();
        obj.
    var = "asdf";
        obj.click 
    = function(){
        alert(
    "asdfas");
        };
    等价于
        
    var obj = {
        val:
    "asdf",
        click: 
    function(){
            alert(
    "asdfa");
        }
        };

    这样就对上面的用法理解了。

  • 相关阅读:
    软件设计师经验分享
    数据库设计基本规范
    UEditor上传文件的默认地址修改
    mongoDB简单介绍及安装
    链表中倒数第k个结点
    一入python深似海--对象的属性
    stl--vector 操作实现
    android5.x加入sim1,sim2标识
    leetCode 27.Remove Element (删除元素) 解题思路和方法
    java8新增特性(一)---Lambda表达式
  • 原文地址:https://www.cnblogs.com/icebutterfly/p/1588851.html
Copyright © 2011-2022 走看看