谁说js不是面向对象的?
一直对js有种说不出来的感情!下面是小弟对js的一点很浅很浅的认识!希望大家多多交流
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD><TITLE> New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""> </HEAD> <BODY><button >User</button> </BODY> <script type="text/javascript"> /** * function在这里有类的含义 * id,name,age在这里都是他的成员变量 * @param {Object} id * @param {Object} name * @param {Object} age */ function User(name,age){/** * 谁说jsavascript没有封装,这里的id就是User的私有变量,外部是不能访问的 * this.name这种形式的变量是公有变量 */var id = 1;this.name = name;this.age = age;/** * 这里的getterLength模仿来getter的方法 */this.getterLength = {valueOf:function(){return name.length;},toString:function(){return name.length;}}/** * 这里定义了一个say方法 */this.say = function(){alert("HelloWorld!,my name is "+name);}}function onUser(name,age){/** * 这里我们初始化一个User对象 * 看看这是不是和我们的面向对象语言java很像啊? * 这是自己的一点理解,希望各位朋友多交流 */var user = new User(name,age);/** * 看看我们定义的私有变量id可不可访问? */alert("ID是"+user.id);alert("姓名是"+user.name);alert("年纪是"+user.age);alert("我的名字有"+user.getterLength+"个字符");user.say();} </script></HTML>
页:
[1]