只为成功找方向,不为失败找借口

每天都不能停止前进的脚步
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

方法函数:

    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");
    }
    };

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