小编Har*_*rke的帖子

为什么在JavaScript中使用回调,它的优点是什么?

有人可以解释一下,为什么我们在JavaScript中使用回调?我找到了示例,但它们可以通过使用普通函数来实现.使用它有什么好处?我得到了"如何"使用它的答案,而不是"为什么和何时"我们需要使用它.

通常,我发现它在AJAX中使用.在...上httpRequest.onreadystatechange.这类似于Java的多线程吗?响应的听众如何以及在哪里?异步编程是否类似于多线程?

在以下代码中,控制流程如何:

function some_function(arg1, arg2, callback) {
  var my_number = Math.ceil(Math.random() * (arg1 - arg2) + arg2);
  callback(my_number);
  some_different_function_not_callback(arg1);
}
some_function(5, 15, function(num) {
   console.log("callback called! " + num);
});
Run Code Online (Sandbox Code Playgroud)

来自JQuery网站:

关于回调的特殊之处在于,在"父"之后出现的函数可以在回调执行之前执行"(参考:http://docs.jquery.com/Tutorials:How_jQuery_Works)

有人可以用一个例子向我解释这一行吗?

javascript jquery

28
推荐指数
3
解决办法
2万
查看次数

何时使用单独的日期和时间而不是单个日期时间

如果我想存储日期和时间,最好将它们存储在单独的日期和时间中,还是使用单个日期时间?

我们什么时候应该使用日期和时间而不是单个日期时间?

我想使用日期或时间过滤我的查询.

sql sql-server datetime

12
推荐指数
2
解决办法
5657
查看次数

什么时候最好不要使用内连接?

我有两张桌子:

table1 (id, name, connte)
table2 (id, name, connte)
Run Code Online (Sandbox Code Playgroud)

他们通过连接table1.conntetable2.connte.每个都包含100条记录.

现在,如果我想从table1中删除id = 20的记录及其在table2中的相应子项,那么最好是执行以下操作:

   DELETE d1,d2 FROM table1 d1 INNER JOIN table2 d2 ON d1.connte= d2.connte WHERE d1.id = 20
Run Code Online (Sandbox Code Playgroud)

或以下:

  select connte from table1 where id = 20
  --Store connte in a variable say aabc--
  delete from table2 where connte = aabc   -> execute this first
  delete from table1 where id = 20    -> execute this second
Run Code Online (Sandbox Code Playgroud)

如果我想要删除的记录只有一个父项和一个子项(这里是table1.id = 20),那么对整个表进行内连接是不是很昂贵?

我正在从JAVA(所以JDBC)运行此查询,因此对于上述条件,运行多个查询或内部联接是否更昂贵(性能明智)?

注意:假设表没有参照完整性.所以,我没有使用级联删除.

mysql sql-server optimization performance jdbc

6
推荐指数
1
解决办法
1034
查看次数

如何在netbeans IDE中用引号括起文本

我有一些文字说:

<td id=asd >
Run Code Online (Sandbox Code Playgroud)

netbeans中是否有快捷方式,所选文本可以用引号括起来?

 <td id="asd" >
Run Code Online (Sandbox Code Playgroud)

netbeans netbeans-7

5
推荐指数
3
解决办法
3789
查看次数

获取“在:“压缩资源模型”期间发生内部错误。在 eclipse indigo 中构建项目时

在 eclipse indigo 中构建项目时出现以下错误:

 An internal error occurred during: "Compacting resource model". Java heap.
Run Code Online (Sandbox Code Playgroud)
  1. 这是内存问题吗?

  2. 是否可以在 Eclipse 中编译单个包(类似于 netbeans)?我在 netbeans 中遇到了类似的内存问题,但我通过一次编译较少数量的包来解决它。

我在 ganemede 中编译了同一个项目,没有任何问题。

更新:

堆栈跟踪:

 !ENTRY org.eclipse.core.jobs 4 2 2012-03-07 09:39:49.520
 !MESSAGE An internal error occurred during: "Compacting resource model".
 !STACK 0
 java.lang.OutOfMemoryError: Java heap space
at java.util.HashMap.newKeyIterator(Unknown Source)
at java.util.HashMap$KeySet.iterator(Unknown Source)
at java.util.HashSet.iterator(Unknown Source)
at org.eclipse.core.internal.jobs.JobManager.findBlockingJob(JobManager.java:685)
at org.eclipse.core.internal.jobs.JobManager.doRunNow(JobManager.java:1085)
at org.eclipse.core.internal.jobs.JobManager.runNow(JobManager.java:1080)
at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:89)
at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:286)
at org.eclipse.core.internal.utils.StringPoolJob.run(StringPoolJob.java:101)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

 !ENTRY org.eclipse.core.jobs 4 2 2012-03-07 09:39:49.521
 !MESSAGE An internal error …
Run Code Online (Sandbox Code Playgroud)

eclipse eclipse-indigo

5
推荐指数
1
解决办法
7845
查看次数

使用单个hashmap与多个变量

假设我们有一个名为CompHash的类,它有30个不同的变量,如下所示:

   public class CompHash{
      private String abc1;
      private int sdf2;
             :
             :
      private float sgh30;
   }
Run Code Online (Sandbox Code Playgroud)

和类似的类:

     public class CompHash{
         private HashMap diffVariables;
     }
Run Code Online (Sandbox Code Playgroud)

在我需要的变量数量从1到30不等的情况下,哪两个会更好?

java

4
推荐指数
1
解决办法
1612
查看次数

使用JDBC在查询中使用Limit会对性能产生任何影响吗?

如果我们在也具有ORDER BY子句的查询中使用Limit子句并在JDBC中执行查询,那么性能会有什么影响吗?(使用MySQL数据库)

例:

     SELECT modelName from Cars ORDER BY manuDate DESC Limit 1
Run Code Online (Sandbox Code Playgroud)

我在这个论坛的一个主题中读到,默认情况下,一次获取一个集合大小.如何找到默认的提取大小?

我只想要一条记录.最初,我使用如下:

SQL查询:

 SELECT modelName from Cars ORDER BY manuDate DESC
Run Code Online (Sandbox Code Playgroud)

在JAVA代码中,我提取如下:

  if(resultSett.next()){
      //do something here.
  }
Run Code Online (Sandbox Code Playgroud)

java jdbc

3
推荐指数
1
解决办法
2135
查看次数

什么是从另一种形式调用表单的更好方法

假设我有两个名为Form1和Form2的表单.我想从Form1调用Form2中的函数abc().哪一个更好,为什么?

方法1:

 'In Form1
  Form2.abc()
Run Code Online (Sandbox Code Playgroud)

方法2:

 'In Form1
  Dim oFrm As New Form2
  oFrm.abc()
Run Code Online (Sandbox Code Playgroud)

vb6

3
推荐指数
1
解决办法
4236
查看次数

脚本的位置在Jquery中是否重要?

有人能告诉我脚本标签的位置在使用JQuery时是否重要?

例如:

<script>
 $("a").click(function(event) {
   event.preventDefault();
   $('<div/>')
      .append('default ' + event.type + ' prevented')
      .appendTo('#log');
 });
</script>

<a href="http://jquery.com">default click action is prevented</a>
<div id="log"></div>
Run Code Online (Sandbox Code Playgroud)

上面的代码不能按需要工作,但以下工作,

<a href="http://jquery.com">default click action is prevented</a>
<div id="log"></div>
<script>
$("a").click(function(event) {
   event.preventDefault();
   $('<div/>')
      .append('default ' + event.type + ' prevented')
      .appendTo('#log');
});
</script>
Run Code Online (Sandbox Code Playgroud)

为什么第二个有效?是因为代码是从上到下连续工作的吗?此外,如果第一个代码在内部.ready(),那么位置无关紧要.

jquery

2
推荐指数
1
解决办法
2466
查看次数

我们如何清除jqgrid中的网格参数?

如果我设置jqgrid参数然后我再次想要用新的参数重置参数,而不添加旧参数,我该如何实现?

让我们说,例如:

Step 1: jQuery("#list").setGridParam({url:"testJsp.jsp",
                    mtype: "POST", 
                    postData:{xyz: '23fd', 
                              asd: 'were' }
                    });

Step2: jQuery("#list").setGridParam({url:"testJsp.jsp",
                mtype: "POST", 
                postData:{ert: 'trer', 
                          ghj: 'rew' }

                });
Run Code Online (Sandbox Code Playgroud)

现在当我这样做时,在"步骤2"结束时,我总共有4个参数,包括"步骤1"中的参数.但我不想要这个.在"第2步"之后,我只想获得"第2步"的参数.

有没有办法清除"步骤1"和"步骤2"之间的网格参数?

javascript jquery jqgrid

2
推荐指数
1
解决办法
5036
查看次数