0

我从这里.js得到了以下代码,同时在一个单独的文件中搜索从 YUI2 JavaScript 函数访问 PHP 变量的某种方法。

查看 JavaScript,第一条语句创建 .namespace,第二条语句开始定义一个函数(命名为 YAHOO.MyApp)。然后var currencyRates;创建var userInfo;两个变量。

  1. 那么下一个return {...}构造是什么?

  2. 然后在里面,function(newRates) { currencyRates = newRates; } 看起来像一个函数(特别是因为 PHP 可能调用它并将数组传递给它$currency rates?但总的来说是什么 initCurrencyRates: function(newRates) { currencyRates = newRates; }

    那里有什么:(就像=分配一样)?

  3. 那么();最后呢?构造是什么something=function(){...}();

有人可以解释控制流程吗?先执行什么,然后执行什么,然后执行什么?

JavaScript:

YAHOO.namespace('MyApp');

    YAHOO.MyApp = function() {

    var currencyRates;
    var userInfo;

    /*
    here a lot of code with event listeners and dom manipulations which uses currencyRates and userInfo variables
    */

    return {
        initCurrencyRates: function(newRates) { currencyRates = newRates; },
        initUserInfo: function(newUserInfo) { userInfo = newUserInfo; },
    }

}();

PHP:

<?php
$currencyRates = array('EUR' : 1.3245, 'GBP': 1.4322, 'RUB': 0.02334); //actually it comes from database
print '<script>YAHOO.MyApp.initCurrencyRates(' . json_encode($currencyRates) . ')</script>';

$userInfo = array('Name' => 'Jhon', 'ID' => 10); //actually it comes from database
print '<script>YAHOO.MyApp.initUserInfo(' . json_encode($userInfo) . ')</script>';

?>
4

1 回答 1

1

您正在查看 Javascript 对象文字。它们有点类似于 PHP 的哈希文字。这个 Javascript 代码

var foo = {
    x: "hello",
    y: "world"
}

有点类似于这个 PHP 代码:

$foo = array(
    "x" => "Hello",
    "y" => "World"
)
于 2014-08-10T02:55:05.790 回答