1、 直接在超链接中调用javascript(只有在href中才需要写javascript:说明交给javascript引擎处理)
<a href="javascript:alert('hello')">hello</a>
<a href="" onclick="alert('hello2')">点击我2</a>
2、在javascript中即可以使用单引号也可以使用双引号声明字符串
只有是方便和html集成,避免转义字符麻烦
3、javascript 是若类型 如果不声明var i 直接写i=10;声明的是一个全局变量(千万别这么用,避免冲突)
var i=10; //声明一个变量,名字为i 指向10这个整数,i就是int类型
i='abc' ; //现在是字符串了
4、调试Javascript
IE--高级--禁用脚本提示点上√
VS--工具--选项--打开行号
DebugBar JS调试工具
ASP.NET 调试JS 和C#一样的可能得把对勾去掉
5、判断变量是否初始化的三种方式
var x;
if (x==null){
alert('null');
}
if (typeof(x)=="undefined"){
alert('undefined');
}
if (!x){
alert('不X');
}
6、函数的声明(这里的大括号推荐这么写,因为以后可能引起歧义)
function add(i1,i2){ //只是声明,不会立即执行
return i1+i2;
}
注意:
function compare(i1,i2){
if (i1>i2)
return i1;
}
这样的写法不会报错假设 compare(6,4)返回6 否则返回undefine
7、匿名函数--避免冲突
var f1=function (i1,i2){
return i1+i2;
}
alert(f1(5,9));
alert(function (i1,i2){return i1*i2;}(10,9));
8、JS面向对象基础( *** js分大小写的)
注意:Javascript没有类的语法,是用函数闭包(closure)模拟出来的,
Javascript声明类(类不是类,是对象)
function Person(name,age){ //声明一个函数,当成类用
this.Name=name;//动态增加的一个变量
this.Age=age;
this.SayHello=function(){alert(this.Name);}
}
var p1=new Person("tom",20);//必须new,否则变成调用函数了
p1.SayHello();
p1.Gender='男';
alert(p1.Gender);
9、Array对象
JavaScript中的Array是个动态的数组(类似C#arraylist)
var names=new Array();//这里必须是大写
names[0]='liyang';
names[1]='zhangsan';
names[2]='lisi';
for(var i=0;i<names.length;i++){
alert(names[i]);
}
10、求数组最大数
var arr1=new Array();
arr1[0]=30;
arr1[1]=11;
arr1[2]=3;
arr1[3]=55;
alert(arr1[3]);
function getMax(arr){
var max=arr[0];
for(var i=0;i<arr.length;i++){
alert(arr[i]);
if (arr[i]>max){
max=arr[i];
}
}
return max;
}
alert(getMax(arr1));
10、反转 联合
function myReverse(arr1) {
for (var i = 0; i < arr1.length/2; i++) {
var tmp = arr[i];
arr1[i] = arr1[arr1.length - i-1];
arr1[arr1.length - i-1] = tmp;
}
return arr1;
}
function myjoin(arrs) {
if (arrs.length <= 0) {
return "";
}
var s = arrs[0];
for (var i = 1; i < arrs.length; i++) {
s = s + "|" + arrs[i];
}
return s;
}
11、JS当字典使用
<%--字典 --%>
<script type="text/javascript">
var dict = Array();
dict["人"] = "ren";
dict["猫"] = "mao";
alert(dict["人"]);
alert(dict.猫);
for (var k in dict) { //js中的foreach语法
//遍历出来是key 不是值
alert(k);
}
var arr = new Array();
arr[0] = "1";
arr[1] = "2";
for (var k in arr) {
alert(arr[k]);
}
</script>
12、Array的简化声明
<%--Array的简化声明 --%>
<script type="text/javascript">
var arr = [1, 3, 4, 5, 6, 8];
arr = { "tom": 30, "liyang": 25 }
for (var k in arr) {
alert(k +"---" +arr[k]);
}
</script>
13、获得对象所有成员 因为对象的成员就是以对象的Key的形式出现的
<%--知道一个对象的所有方法 --%>
<script type="text/javascript">
for (var k in document) {
alert(k);
}
var p1 = new Object();
p1.Name = "tom";
p1.Age = "30";
p1.SayHello=function() {alert("hello")};
p1.SayHello();
for (var k in p1)
{
alert(k);
}
</script>