JavaScript回顾:
1、Javascript是NetScape公司语言,基于对象和事件驱动。
2、Javascript和Java的不同之处。
2.1、所属公司不一样。Java是sun公司,现在是Oracle公司。
2.2、js是基于对象,java是面向对象。
2.3、js是由浏览器解释并执行,java是由jvm解释并执行。
2.4、js是弱类型语言,java是强类型。
2.5、js是非严谨的,java是严谨的。
3、Javascript运行在客户端。
4、Javascript需要被浏览器所解释执行,就必须要将代码和html相结合。
结合方式是什么样的呢?
4.1、通过定义<script>标签将js代码存入其中,并指定type属性,方便浏览器启动指定的解析引擎。
4.2、也可以通过<script>标签,使用src属性链接一个指定的js文件进来。
5、JavaScript的基本语法:
5.1、变量。
通过var关键字定义变量,该变量可以赋予不同类型的常量。
Var x = 3;
X = “abc”;
5.2、语句。
If,switch,while,do while ,for。
使用逻辑运算符进行布尔表达式连接的时候,需要是”短路与”或”短路或”。&& ||
因为在js中,非0即为true,0为false,非空即为true,空为false。
5.2、语句。
If,switch,while,do while ,for。
使用逻辑运算符进行布尔表达式连接的时候,需要是”短路与”或”短路或”。&& ||
因为在js中,非0即为true,0为false,非空即为true,空为false。
Js特有语句:
5.2.1、With(对象):可以确定对象所使用的范围。在范围内,可以直接使用指定对象的属性和行为,而不用,对象. 的形式调用。简化了对象的操作。
5.2.2、For(变量 in 对象):可以对对象的属性及行为进行遍历。
5.3、数组
5.3.1、对于js的数组,特点在于:该数组的长度是可变的,相对于java中的集合。
5.3.2、该数组中可以存放的元素类型是可以不同的。
定义格式:
Var arr =[3,true,“abc”];
Var arr = new Array();
操作形式和java一样。都是通过for进行遍历,同时也使用了指针思想。
5.4、函数。
通过function关键字定义函数。
a,一般函数
格式:function 函数名 (形参...)
{
执行语句;
Return 返回值;
}
通常为了提供代码复用可以将代码封装成函数。
两个明确:
#、明确该功能实现后的结果
#、该功能在实现过程中是否有未知内容参与运算。
b,动态函数
使用的是function对象
Var show = new function (“x”,”y”,”return x+y”);
动态函数的特点:可以将参数列表,和方法体作为参数传递。
c,匿名函数
一般函数的简写形式 :Function(){}
匿名函数通常用于事件的处理
如:
Window.onload = function(){alert(“onload over”);}
在函数使用时需要注意的部分:
Function show(){
Return “show run”;
}
Var method = show();
Var method = show;
两句代码都是正确的,
第一句表示的是show方法运行后的结果赋值给method变量。
第二句表示的是将show指向的对象的地址赋值给method。那么method也指向了该对象。那么就可以通过method();的形式来调用这个show方法。
6、Js可以通过对象形式将数据进行封装。
首先对对象进行描述,通过函数来完成。
Function Person(name,age)
{
This.name = name;
This.age = age;
}
Var p = new Person(“lisi”,21);
Alert(p[“name”]+“...”+p.age);
P.show = function()
{
Alert(“show run”);
}
7、Javascript中的已定义好的一些对象。
String,math,date... 这些对象都有一个属性叫做prototype原型。
Prototype可以获取指定的对象引用,可以通过该引用给已有的对象赋予一些新的功能
那么在使用该对象时,可以直接调用定义好的新功能。
Function getMax()
{
Var max = 0;
For(var x=1; x<this.length ; x++)
{
If(this[x]>this[max])
Max = x;
}
Return this[max];
}
Var arr = [3,4,16,7];
Arr.sort();//直接调用Array对象的sort方法对数组进行排序。
那么可不可以像调用sort方法一样调用getMax方法呢?
就需要将getMax方法添加到Array对象当中。
Array.prototype.getMax = getMax; //关键语句
Var x = arr.getMax();
Alert(“Max = ”+x);
Var str = “abc”;
Str.substring(1,2);
Str.bold();
/*//模拟String中的fontColor方法
Function fontColor(color)
{
Return “<font color =‘”+color+“’>”+this+“</font>”;
}
String.prototype.fontColor = fontColor;
str.fontColor(“red”);
*/
//给字符串对象定义一个新功能,去掉字符串两端空格
Function trim()
{
Var start,end;
Start = 0;
End = this.length - 1;
While(start<=end && this.charAt(start)==" ")
Start++;
while(start<=end && this.charAt(end)==" ")
end--;
return this.substring(start,end+1)
}
String.prototype.trim = trim;
Var s = “ ab c ”;
S = s.trim();
Alert(“----”+s+“----”);//ab c
8、常见的全局方法。
parseInt(numstr,[radix]);//将数字格式的字符串转成整数。如果指定了基数,那么numstr就会按照执行基数进行转换。
Var num = parseInt(“110”,2);//表示“110”这个字符串会按照二进制进行转换
Alert(“num=”+num);//num = 6;
Var x = 6;
Alert(x.toString(2));//110. //获取6对应的二进制表现形式