javascript入门经典学习四(对象,流程控制,函数)
1.js中的对象确实比较方便,类似c++中的类,可以包含方法和属性,大大简化了代码和优化了代码的管理。
对象的定义其实很简单,就是定义一个该对象的构造函数。如:
function Card(name,address,work,home)
{
this.name = name;this.address="";this.work="";
}这样就定义了一个对象,并且它的成员属性包括name,work,address;
如果已经声明了一个函数function a(){alert(this.name);};那么在构造函数中增加一个 this.func1=a;于是该对象card就有了一个成员函数func1;其中的this均表示当前对象;
使用对象时就类似类了,要先声明一个实例。如 var c1= new Card("d","c","f"); 于是c1.func1();
2.如何扩展内置对象,其实很简单就是使用关键字prototyp;
eg。String.prototype.funcnew = func;于是string类就增加了一个函数funcnew(此处假设func是函数名);
使用对象我们可以更好的保持数据,甚至与数据库进行结合更加方便;asp.net2.0中,更是可以利用ajax框架使服务器侧对象可以直接被客户端使用;
同时对象中也可以包含更多对象,对象可以作为数组元素等等;
3.js支持的控制语句除了 if else switch for while外 还支持do while,for in,break,continue;
同时支持冒号语法?:;支持逻辑表达式的短路。
书上说:比较运算符==,对不同类型数值进行比较时,较早版本会先转换成一致的类型再进行比较,后期版本会直接认为不同。但是测试了一下 似乎都会转换后再比较,这个有点搞不清楚了???(麻烦高手给个指点)
4.with关键字,with关键字用来指定一个对象,后面的语句块中,对于每一条语句,没有指定对象的属性都将被认为是该对象的属性
eg with(c1){name="aa";}//则name即为c1.name;
5.内置对象Math比较特殊,它的方法类似静态方法,可以不声明实例直接调用。如Math.cos(60);