<a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流!
一、Javascript:基本概述
是Netscape公司语言,基于对象和事件驱动。
和java的不同之处:
1、所属公司不一样。java是sun公司,现在是Orcale公司。
2、js是基于对象,java是面向对象。
3、js是由浏览器解释并执行,java是由jvm解释并执行。
4、js是弱类型的语言,java是强类型。
5、js是非严谨的,java是严谨的。
javascript运行在客户端。
javascript需要被浏览器所解释执行,就必须将代码和html相结合。
结合方式是什么样的呢?
1、通过定义<script>标签将js代码存入其中。并指定type属性。方便浏览器启动指定的解析引擎。
2、也可以通过<script>标签,使用src属性连接一个指定的js文件进来。
<script src=”hello.js” type=”text/javascript”></script>
3、直接在HTML标签中使用:
<input name=”but”type=”button” value=”弹出消息框” onclick=”javascript:alert(‘欢迎你’);/>
二、Javascript的基本语法:
1、变量:
显示定义:通过var关键字定义变量,该变量可以赋予不同类型的常量。
var x=3;
x="abc";
特殊的常量:undefined
隐式定义:直接给变量赋值
a="Hello javascript"
2、语句:
if,switch,while,do while,for
使用逻辑运算符进行布尔表达式连接的时候,需要时短路与和短路或。&& ||
因为在js中,非0即为true,0为false。非null为true,null为false。
js特有的语句:
with(对象){}:可以确定对象所使用的范围。在范围内,可以直接使用对象的
属性和行为,而不用"对象."的形式调用。简化了对象的操作。
for(变量 in 对象):可以对对象的属性及行为进行遍历。
3、数组:
对于js数组的特点在于:该数组的长度是可变的,相当于java中的集合。
该数组中可以存放的元素类型是可以不同的。
定义格式:
var arr = [3,true,"abc"];
var arr = new Array();
var arr = [[3,1,9],[3,4]]
操作形式和java一样。都是通过for进行遍历,同时也使用了指针的思想。
4、函数。
通过function关键字定义函数。
a,一般函数。
格式:function 函数名(形式参数...)
{
执行语句;
return 返回值;
}
通常为了提高代码的复用性可以将代码封装成函数。
两个明确:
1,明确该功能实现后的结果。
2,该功能在实现过程中是否有未知内容参与运算。
b,动态函数。(使用Function类匿名函数)
使用的是Function对象。
var show = new Function("x","y","return x+y;");
动态函数的特点:可以将参数列表,和方法体作为参数传递。其中最后一个字符串参数是函数的执行体,执行体的各语句以分号(;)隔开,前面的各字符串则是函数的参数;
c,匿名函数。
一般函数的简写形式。
function(){}
匿名函数通常可以用于事件的处理。
如:
window.onload = function(){alert('onlaod over');}
在函数使用时需要注意的部分:
function show()
{
return "show run";
}
var method = show();
var method = show;
两句代码都是正确的,
第一句表示的是show方法运行后的结果赋值给method变量。
第二句表示的是将show指向的对象的地址赋值给method。那么method
也指向了该对象。那么就可以通过method();的形式来调用这个show()方法。
--------------------
三、javascript中的对象
注意:在定义javascript函数时,也就得到了一个同名的类,而且该函数就是该类的构造器。因此我们认为定义一个函数的同时,实质上也是定义了一个构造器(构造函数)。
js可以通过对象形式将数据进行封装。
首先对对象进行描述,通过函数来完成。
function Person(name,age)
{
this.name = name;
this.age = age;
}
var p = new Person("lisi",30);
alert(p["name"]+"..."+p.age);
p.show = function()
{
alert("show run");
}
-----------------
Javascript中的已定义好的一些对象。
1,String,Math,Date,Array,Function
这些对象都有一个属性叫做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();//<b>str</b>
/*//模拟一下String中的fontcolor方法
function mycolor(color)
{
return "<font color='"+color+"'>"+this+"</font>"
}
String.prototype.color = mycolor;
str.color("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 ";
var s = s.trim();
alert("---"+s+"--");//ab c
-----------------------------------------
常见的全局方法。
parseInt(number,[radix])://将数字格式的字符串转成整数。如果指定了基数,
那么numstr,就会按照指定的基数进行转换。
var num = parseInt("110",2);//表示"110"这个字符串会按照二进制进行转换。
var x = 6;
alert(x.toString(2));//110//获取6的对应的二进制表现形式。
<a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
详细请查看:<ahref="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>