1.事件
在超链接的点击里执行JavaScript:<a href="javascript:alert('哈哈')">哈哈</a>
JavaScript中也有事件的概念,当按钮被点击的时候也可以执行
JavaScript:
• <input type="button" onclick="alert(99)" value="久久"/>
• 只有超链接的href中的JavaScript中才需要加“"javascript:”,因为它不是事件,而是把“"javascript:”看成像“http:”、“ftp:”、“thunder://”、“ed2k://”、"mailto:"一样的网络协议,交由js解析引擎处理。只有href中这是这是一个特例。
2.变量
(1)JavaScript中即可以使用双引号声明字符串,也可以使用单引号声明字符串。主要是为了方便和html集成,避免转义符的麻烦。
(2)JavaScript中有null、undefined两种,null表示变量的值为空,undefined则表示变量还没有指向任何的对象,未初始化。两者
的区别参考资料。
(3)JavaScript是弱类型,声明变量的时候无法:int i=0;只能通过var i=0;声明变量,和C#中的var不一样,不是C#中那样的类型
推断。
(4)JavaScript中也可以不用var声明变量,直接用,这样的变量是“全局变量”,因此除非确实想用全局变量,否则使用的时候最好
加上var。
(5)JS是动态类型的,因此var i=0;i="abc";是合法的。
3.判断变量初始化
-
<script type="text/javascript">
-
//alert(new Date().toLocaleDateString());
-
var x = 0;
-
if (x == null) {
-
alert("null");
-
}
-
if (typeof (x) == "undefined") {
-
alert('undefined');
-
}
-
if (!x) { alert('不x'); }
-
</script>
if(x){}//变量被初始化了或者变量不为空或者变量不为0。推荐用最后一种方法。
4.函数的声明
(1)JavaScript中声明函数的方式:
function add(i1, i2) {
return i1 + i2;
}
int add(int i1,int i2)//C#写法
(2)不需要声明返回值类型、参数类型。函数定义以function开头。
var r = add(1, 2);
alert(r);
r = add("你好", "tom");
alert(r);
(3)JavaScript中不像C#中那样要求所有路径都有返回值,没有返回值就是undefined。
(4)易错:自定义函数名不要和js内置、dom内置方法重名,比如selectall、focus等函数名不要用。
5.匿名函数
var f1 = function(i1, i2) {
return i1 + i2;
}
alert(f1(1,2));
(1)类似于C#中的匿名函数。
(2)这种匿名函数的用法在JQuery中的非常多
(3)alert(function(i1, i2) { return i1 + i2; }(10,10));//直接声明一个匿名函数,立即使用。用匿名函数省得定义一个用一次就不用的函数,而且免了命名冲突的问题,js中没有命名空间的概念,因此很容易函数名字冲突。通过例子发现一旦命名冲突以最后声明的准
(4)必须<script src="my1.js" type="text/javascript"></script>不能:<script src="my1.js" type="text/javascript"/>