我从这里.js
得到了以下代码,同时在一个单独的文件中搜索从 YUI2 JavaScript 函数访问 PHP 变量的某种方法。
查看 JavaScript,第一条语句创建 .namespace
,第二条语句开始定义一个函数(命名为 YAHOO.MyApp)。然后var currencyRates;
创建var userInfo;
两个变量。
那么下一个
return {...}
构造是什么?然后在里面,
function(newRates) { currencyRates = newRates; }
看起来像一个函数(特别是因为 PHP 可能调用它并将数组传递给它$currency rates
?但总的来说是什么initCurrencyRates: function(newRates) { currencyRates = newRates; }
?那里有什么
:
(就像=
分配一样)?那么
();
最后呢?构造是什么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>';
?>