我们日常JS编程中最常用的方式 有下面2种: 1.混合的构造函数和原型方式 (重点) 代码如下: function car (sColor,iNumbers){ // 构造函数只用来定义对象的所有非函数属性,即对象的属性 this.color = sColor; this.numbers = iNumbers; this.dirvers = new Array ("Jone","Leon"); } car.prototype.showColor = function (){ // 原型方式只用来定义对象的所有函数属性,即对象的方法 alert(this.color); } var car1 = new car("...
function user() { this.age=21; this.name="zhangsan"; this.say=function(){ alert("hello"); } } var u = new user(); alert(u["age"]); alert(u.name); u.say(); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]JavaScript面向对象的两种书写方法以及差别http://www.gxlcms.com/article/13211.htmJavaScript 面向对象入门精简篇http://www.gxlcms.com/article/17541.htm
代码如下://60年代的汽车工厂 var ocar=new Object; ocar.color="black"; ocar.doors=2; ocar.pinpai="解放"; ocar.showPinpai=function() { alert(this.pinpai);//需要一个生产线,生产一个汽车,再生产下个汽车还需要建立新的生产线 } //70年代的汽车工厂 function createcar() { var oTempCar=new Object; oTempCar.color="black"; oTempCar.doors=4; oTempCar.pinpai="桑塔纳"; oTempCar.showPinp...
1. JavaScript中的类型 -------- 虽然JavaScript是一个基于对象的语言,但对象(Object)在JavaScript中不是第一型的。JS 是以函数(Function)为第一型的语言。这样说,不但是因为JS中的函数具有高级语言中的函 数的各种特性,而且也因为在JS中,Object也是由函数来实现的。——关于这一点,可以在 后文中“构造与析构”部分看到更进一步的说明。 JS中是弱类型的,他的内置类型简单而且清晰: --------------------------------------...
看了很多介绍javascript面向对象技术的文章,很晕.为什么?不是因为写得不好,而是因为太深奥.javascript中的对象还没解释清楚怎么回事,一上来就直奔主题,类/继承/原型/私有变量.... 结果呢,看了大半天,有了一个大概的了解,细细一回味,好像什么都没懂... 这篇文章是参考<<javascript-the definitive guide,5th edition>>第7,8,9章而写成的,我也 会尽量按照原书的结构来说明javascript的面向对象技术(对象/数组->函数-->类/构造函数/原...
以前这些东西自己清楚,可是却解释不出来,也没有去深究这些东西。今天在看《悟透JavaScript》的时候,看到作者的描述,“茅厕”顿开。 现摘录如下,作者说的很是清楚: 用 var anObject = new aFunction() 形式创建对象的过程实际上可以分为三步: 第一步是建立一个新对象; 第二步将该对象内置的原型对象设置为构造函数prototype引用的那个原型对象; 第三步就是将该对象作为this参数调用构造函数,完成成员设置等初始化工作。
有人说javascript也是面向对象的,只是它是prototype based,当然这只是概念上的区别,我不想讨论js是不是面向对象的,关键是想说明虽然javascript的类表现得很像其他语言中的类,但是内部的实现机理确不太一致,如果一味的把javascript中的类类比作其他语言中的类,有时候脑子会犯混。 先看一段简单的代码,一般教材上介绍如何新建一个类的时候都是这样的(当然还有更复杂的方法,不过本质上是一样的): 代码如下: function MyCl...
JavaScript is an Object Oriented Programming (OOP) language. JS是面向对象的编程语言(面向对象)。 (这里是基于对象还是面向对象大家可以搜索下)An OOP language allows you to define your own objects and make your own variable types. OOP语言可以让你自定义对象和变量类型。 -------------------------------------------------------------------------------- Object Oriented Programming 被安置对象的编程 JavaSc...
JavaScript 使用简略语法创建对象 window.onload = function(){ AppendMembersToObject(); SimpleSyntaxToCreateObject(); } function AppendMembersToObject() { var testName = "AppendMembersToObject"; WriteStart(testName); // 创建一个对象 var person = new Object(); // 给对象添加属性(public) person.Name = "lipei"; person.Sex = "boy"; person.Age = "24"; // 给对象添加方法(public) person.toStr...
说到js的面向对象,就不得不提到prototype这个js内置属性了(注意:这里的prototype可不是prototype.js),它的作用就是可以动态的向一个对象(object)添加某种属性。我现在要做的就是尽可能的让代码达到公用,像继承啦之类的。好了,这些就不多说了,对prototype不了解的可以搜索下相关内容。 今天要做的是点击一个html元素让其弹出一个友好的对话框来,首先要明确两点,一点是我可能会大量的用到这种方式,甚至不希望出现系统的alert...
直到有那么一天,我开始在js中拼凑DOM标签,而且需要不停的拼凑,我发现我的代码变得愈发的丑陋,不仅上是代码简洁的问题,甚至有时候还引发了性能问题。长此以往,不出三个月,上帝都将会不知道我写过些什么,本篇的目的完全出于记录使用心得。 首先,还是来看一下促使我改变书写JavaScript习惯的垃圾代码,在练习、测试、调试、甚至正式项目中,大量的充斥着下面的代码。 代码如下: Function finduser(userId) { } Function sho...
JavaScript 对象是词典 在 C++ 或 C# 中,在谈论对象时,是指类或结构的实例。对象有不同的属性和方法,具体取决于将它们实例化的模板(即类)。而 JavaScript 对象却不是这样。在 JavaScript 中,对象只是一组名称/值对,就是说,将 JavaScript 对象视为包含字符串关键字的词典。我们可以使用熟悉的“.”(点)运算符或“[]”运算符,来获得和设置对象的属性,这是在处理词典时通常采用的方法。以 下代码段 代码如下: var userOb...
因此很有必要在这里为同学们举一个例子: JavaScript面向对象代码示例 //创建一个站点的构造函数,name与url是其参数 function Site(name, url) { this.url = url; this.name = name; } //为Site增加一个方法,用于显示网址 Site.prototype.show = function() { return this.name+"的网址为:"+this.url; }; //创建一个站点集合构造函数,sites是其参数 function Sites(sites) { this.sites = sites; } //为Sites增加...
constructor属性始终指向创建当前对象的构造函数。比如下面例子:比如下面例子: 代码如下: // 等价于 var foo = new Array(1, 56, 34, 12); var arr = [1, 56, 34, 12]; console.log(arr.constructor === Array); // true // 等价于 var foo = new Function(); var Foo = function() { }; console.log(Foo.constructor === Function); // true // 由构造函数实例化一个obj对象 var obj = new Foo(); console.log(obj.constructor...
学过java,c#,vb的都知道类的概念,而类具有继承、封装、多态等功能。而javascript它不是面向对象语言,它是解释性语言。 但我们同样可以使用javascript来实现继承、多态。 javascript实现类,有多种方法。 方法一:构造方法。 代码 代码如下: function coder(){ this.name = 小王; this.job = 程序员; this.coding = function () { alert(我正在写代码); } } var coder=new coder(); alert(coder.name); coder.coding(); 方法二:...