我想检查函数是否已定义(我不关心如何,我的意思是它是可调用的)
示例代码:
var functions = {
'alert':'alert',
'undefinedFunction':'undefinedFunction',
'ff.showAlert':'ff.showAlert'
};
var ff = {
showAlert: function() {
alert('the function works');
}
};
for (i in functions) {
console.log(i+' : '+typeof window[functions [i]]);
}
Run Code Online (Sandbox Code Playgroud)
这会返回:
alert : function
undefinedFunction : undefined
ff.showAlert : undefined
console.log(typeof window.ff.showAlert); return function
Run Code Online (Sandbox Code Playgroud)
现场演示
有没有办法以编程方式检查函数是否存在?
我正在尝试使用jQueryUI按钮小部件,尤其是将复选框转换为漂亮按钮的选项.
普通按钮工作正常,但复选框没有!
这是我的代码
HTML:
<button id="button">button</button>
<label for="input">
<input id="input" type="checkbox"/>Checkbox
</label>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
$('#button').button();
$('#input').button();
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么它对复选框不起作用!!
我在控制台中有这个输出:
console.log((!undefined)==(!false)) // true (fine)
console.log((!!undefined)==(!!false)) // true (still fine)
Run Code Online (Sandbox Code Playgroud)
据我所知,!!x==x不是吗?
console.log((undefined)==(false)) // false
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么这会返回错误?
是不正确的!!false==false和!!undefined==undefined?
在将PHP源代码转换为操作码之前,是否存在消除死条件的优化过程?
例:
<?php
if (false) {
echo 'false';
}
echo 'true';
Run Code Online (Sandbox Code Playgroud)
它变成了echo 'true';吗?
如果答案是肯定的,PHP可以处理以下哪种情况?
if(false); //Explicit boolean
$true = true; if($true); //Variable that was assigned a constant boolean
if(ClassName::Constant); //Class constant
if(1>2); //Constant value expression
Run Code Online (Sandbox Code Playgroud)
如果有版本特定的差异,请慷慨.
我想基于现有的JavaScript对象创建一个新的JavaScript对象.
直到现在我的研究才引领我学习jQuery扩展功能.
例:
var object1 = {
name:'same name',
age:'1',
occupation:'programmer'
}
var object2 = {
name:'same new name'
}
Run Code Online (Sandbox Code Playgroud)
现在,当我打电话:
$.extend({},object1,object2);
Run Code Online (Sandbox Code Playgroud)
它完美无缺,我的问题是当我在对象中有对象成员时!
var object1 = {
name:'same name',
age:19,
occupation:'programmer',
parent:{
name:'parent name',
age:35
}
}
var object2 = {
name:'same new name',
parent:{
age:40
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当我打电话的时候
$.extend({},object1,object2);
Run Code Online (Sandbox Code Playgroud)
object1.parent是:
{
age:40
}
Run Code Online (Sandbox Code Playgroud)
我希望它是:
{
name:'same new name',
age:40
}
Run Code Online (Sandbox Code Playgroud)
有没有办法实现这个目标?
我搞砸了一个模块,我怎么能重置它的表(不是空的,但重置),就像它是全新安装的?我不会重新安装模块,我只是想重置数据库中的数据.
Magento版本:1.6.0
首先,我在这里,但这没有用,因为
$this->getSkinUrl()
Run Code Online (Sandbox Code Playgroud)
不是我想要的,因为它返回URL而不是路径
Mage::getBaseDir('skin');
Run Code Online (Sandbox Code Playgroud)
返回皮肤基础目录,它们可能有很多主题..
我想确定当前的主题基础目录.
我知道如何覆盖Mage类(其中的任何类app/code/core)我的问题是如何覆盖Varien类?(课程内lib/Varien)
如果我要重写Mage_Adminhtml_Block_Page_Menu
我创建一个类MyCompany_Adminhtml_Block_Page_Menu下app/code/local/MyCompany/Adminhtml/Block/Page/Menu.php
我把它命名为:
class MyCompany_Adminhtml_Block_Page_Menu extends Mage_Adminhtml_Block_Page_Menu
Run Code Online (Sandbox Code Playgroud)
现在Magento使用我的班级MyCompany_Adminhtml_Block_Page_Menu代替Mage_Adminhtml_Block_Page_Menu
我的问题是:我应该在哪里放置新类,以及如何命名,以覆盖,例如 Varien_Date(lib/Varien/Date.php)
谢谢
我用Ajax从服务器获取数据.
返回的数据(来自萤火虫):
{"users":[{"name":"some name", "age":17},{"name":"some name2", "age":25}]}
Run Code Online (Sandbox Code Playgroud)
当我尝试
$.post('server.php', function(data){
var users = eval(data).users;
alert(users[0].name);
});
Run Code Online (Sandbox Code Playgroud)
我接受了萤火虫:
Uncaught SyntaxError: Unexpected token )
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
我有这样一张桌子:
| ID | NAME | 类别|
我想计算一组给定类别的行,我有一个类别数组,我想知道每个类别有多少行,我做的是:
$cats = array(2,4,5,1,8,44,47);
foreach($cats as $cat){
$res = mysql_fetch_assoc(mysql_quer('select count(ID) from item where CATEGORY='.$cat);
}
Run Code Online (Sandbox Code Playgroud)
我也试过了 'select count(ID) from item where CATEGORY IN ('.implode(',',$cat).')'
但这给了我总数.
有没有办法在没有循环的情况下获得每个类别的计数?用SQL.
我的SGBD是MySQL
javascript ×4
jquery ×3
magento ×3
magento-1.6 ×2
php ×2
ajax ×1
comparison ×1
database ×1
jquery-ui ×1
logic ×1
mysql ×1
sql ×1