问题:
"this"究竟是什么
在C#中,this变量通常指类的当前实例. 在javascript则不同, javascript中的"this"是函数上下文,不是由声明决定,而是由如何调用决定.因为全局函数其实就是window的属性, 所以在顶层调用全局函数时的this是指window对象.
下面的例子可以很好的说明这一切:
1. var o1 = { name: "o1 name" };
2. window.name = "window name";
3.
4. function showName()
5. {
6. alert(this.name);
7. }
8.
9. o1.show = showName;
10. window.show = showName;
11.
12. showName();
13. o1.show();
14. window.show();
结果:
结果证明在顶层调用函数和使用window对象调用函数时, this都指向window对象. 而在对象中调用函数时this指向当前对象.
问题:
javascript中的闭包
闭包的概念比较难以理解, 先看闭包的定义:
闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
简单表达:
闭包就是function实例以及执行function实例时来自环境的变量.
先看下面的例子:
1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2. <html xmlns="http://www.w3.org/1999/xhtml">
3. <head>
4. <title></title>
5. </head>
6. <body>
7. <div id="divResult"></div>
8. <script type="text/javascript">
9. function start()
10. {
11. var count = 0;
12. window.setInterval(function()
13. {
14. document.getElementById("divResult").innerHTML += count + "<br/>";
15. count++;
16. }, 3000);
17. };
18. start();
19. </script>
20. </body>
21. </html>
count是start函数体内的变量, 通常我们理解count的作用于是在start()函数内, 在调用start()函数结束后应该也会消失.但是此示例的结果是count变量会一直存在,并且每次被加1:
因为count变量是setInterval中创建的匿名函数(就是包含count++的函数)的闭包的一部分!
再通俗的讲, 闭包首先就是函数本身, 比如上面这个匿名函数本身, 同时加上在这个函数运行时需要用到的count变量.
javascript中的闭包是隐式的创建的, 而不像其他支持闭包的语言那样需要显式创建. 我们在C#语言中很少碰到是因为C#中无法在方法中再次声明方法. 而在一个方法中调用另一个方法通常使用参数传递数据.
问题:
如何在vs下引入jQuery的智能提示?
<script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
可直接把文件拖到htm文档的代码编辑区。
问题:
ReferentialConstraint 中的依赖属性映射到由存储生成的列
这个问题是由于从表中的外键关系建立错误(可能是由于误改),查看从表的所有外键关系,即可找到问题所在。
问题:
什么是从表?什么是主表?
主键所在的表叫主表,外键所在的表叫从表。
从表的外键所在的那个字段的值必须是主表的主键所在的字段里面已经存在了的。