差异b/w函数声明和函数表达式在var functionName = function(){} vs function functionName(){}中有详细描述.
在此提到函数声明在分析时评估,函数表达式在执行相
在bytes.com中,提到函数声明比函数表达式更快.
我为此创建了一个基本的测试用例:http://jsperf.com/function-declaration-vs-function-expression
功能声明:
function myfunc() {
alert("yo");
}
myfunc();
Run Code Online (Sandbox Code Playgroud)
功能表达:
var myfunc = function() {
alert("yo");
}
myfunc();
Run Code Online (Sandbox Code Playgroud)
测试表明函数表达比函数声明慢90%.
为什么速度如此差异?
编辑:
来自http://jsperf.com/function-declaration-vs-function-expression中的结果
In Chrome, IE9, Opera & Safari- > Function Declaration比Function Expression更快
In Firefox, IE7, IE8- > Function Expression比Function Declaration更快
在IE9中,函数声明更快,而在IE 7和8中函数表达更快.是因为IE9中的JavaScript引擎发生了变化,还是故意这一举动?
当我们使用JavaScript 将大量样式更改应用到单个元素时,phpied&Writing Efficient JavaScript(幻灯片87)建议:
而不是使用style.stylename逐个应用样式,使用cssText或更改类名一次应用所有内容,因为它将减少回流/重绘
哪个更好时,有一个只有单一风格的改变?
document.getElementById('myid').style.cssText += ";color:#999;";
Run Code Online (Sandbox Code Playgroud)
要么
document.getElementById('myid').style.color = "#999";
Run Code Online (Sandbox Code Playgroud)
jsperf.com/csstext-vs-styles-single表明,当只有一个样式更改时,使用单独的样式名称比cssText更快.
是否还有其他因素需要考虑?
在Paul Irish的博客中提到的幻灯片30 :
$('#container').find('div.robotarm') 比...更快 $('#container div.robotarm')
这是真的?
我想在单击按钮时选中一个复选框.
<form action="" method="post" id="form2">
<input type="checkbox" id="checkone" value="one" name="one" />
<input type="button" value="Click me" id="buttonone"/>
</form>
Run Code Online (Sandbox Code Playgroud)
当我尝试以下操作时,复选框未被选中
$('#buttonone').click(function() {
$('#checkone').checked=true;
});
Run Code Online (Sandbox Code Playgroud)
然后我试过:
$('#buttonone').click(function() {
document.getElementById('checkone').checked=true;
});
Run Code Online (Sandbox Code Playgroud)
这次复选框被选中了.为什么不使用jquery $函数进行选择?
似乎max_execution_time是0,但memory_limit就是-1.
对于max_input_time是0或-1或两者兼而有之?
在定义函数的同时调用它,我一直在使用:
var newfunc = function() {
alert('hi');
};
newfunc();
Run Code Online (Sandbox Code Playgroud)
以下是将这两个组合的正确方法:
var newfunc = function() {
alert('hi');
}();
Run Code Online (Sandbox Code Playgroud) 如果在网站上http://www.mysite.com有一个外部的js文件添加为
<script src="http://www.yoursite.com/new.js"></script>
Run Code Online (Sandbox Code Playgroud)
在http://www.yoursite.com/new.jsjs文件中,有一个对脚本的ajax调用http://www.yoursite.com/new.js
在这种情况下,是否存在同源策略安全问题,因为它在另一个网站的网站中调用脚本?
使用PHP脚本上传文件时,这是检查文件大小的最佳方法吗?
$_FILES['']['size']还是filesize()?
中的值$_FILES['']['size']- PHP是否检查服务器中的文件大小,还是上传文件时浏览器发送的值?
$_FILES['']['type'] - 是浏览器发送的值,在上传文件时存在安全问题.是$_FILES['']['size']这样的吗?
当我尝试使用PHP脚本执行时shell_exec(),它无法正常工作.
在error_log文件中,它显示:
PHP警告:shell_exec()[function.shell-exec]:无法执行'php/home/snabbsam/public_html/.....
系统
Centos
工作了shell_exec用clamscan
shell_exec()对作品clamscan()的ClamAV的功能.
但它没有执行PHP脚本
我检查过的事情:
safe_mode已关闭shell_exec()disable_functions在php.ini中不存在案例:
我有一个PHP脚本,目前正由许多用户执行.
此脚本需要一些时间才能完成(例如,从浏览器获取数据,处理数据,更新数据库等)
现在我修改了脚本,然后使用FTP客户端将其上传到服务器.FTP客户端愉快地上传它并说上传.
那现在真的发生了什么?
当我上传修改后的脚本时,当前执行会发生什么?
我想出的可能性是:
1)所有当前的执行都是拧紧的.
上载新脚本时,执行停止.如果是这种情况(我不这样做),如何在不影响当前执行的情况下将脚本上传到服务器?
2)使用旧脚本完成当前执行.当新请求到来时,它将使用新修改的脚本进行处理.
3)还有别的吗?
javascript ×5
php ×4
file-upload ×2
function ×2
jquery ×2
performance ×2
ajax ×1
apache ×1
css ×1
file ×1
forms ×1
ftp ×1
html ×1
optimization ×1
properties ×1
reflow ×1
repaint ×1
security ×1
settings ×1
shell-exec ×1