我从here获得了以下代码,同时在单独的.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>';
?>
答案 0 :(得分:1)
您正在查看Javascript对象文字。它们有点类似于PHP哈希文字。这个Javascript代码
var foo = {
x: "hello",
y: "world"
}
有点类似于这个PHP代码:
$foo = array(
"x" => "Hello",
"y" => "World"
)