现在做了很多前端的工作,越看js对js觉得越陌生,感觉实在很深不见底的感觉
简单说一些关于js的知识吧。
参考资料《javascript完全自学手册》《javascript高级编程》
javascript中的类不同于java里面的类,js的类是通过函数实现的
类的构造: var data = "datatest"; //构造对象 var cat = function(){ this.age=3; this.name="mimi"; this.data = data; this.run = function(){ console.log(data); return ajaxfun(data); } } //添加属性和方法 cat.prototype.sex ="male"; cat.prototype.say = function(){ console.log("添加行为"); console.log(this.data); } //公共方法 function ajaxfun(data){ var data1 = data+1; return data1; }js的类的原型prototype可以动态的为js的类添加行为和属性,类是一个函数所以闭包的属性,里面的私有方法和参数不能对外公开。
js类的继承:
代码:
var data = "datatest"; //构造对象 var cat = function(){ this.age=3; this.name="mimi"; this.data = data; this.run = function(){ console.log(data); return ajaxfun(data); } } //添加属性和方法 cat.prototype.sex ="male"; cat.prototype.say = function(){ console.log("添加行为"); console.log(this.data); } //公共方法 function ajaxfun(data){ var data1 = data+1; return data1; } var animal = function(){ this.sleep = function(){ console.log("animal sleep"); } } cat.prototype = new animal(); obj = new cat(); console.log(obj.sleep());创建一个animal对象,里面有一个方法,js和java不同,只能通过原型实现模拟的继承。
方法的重载看下一篇