【javascript-如何包装构造函数?】教程文章相关的互联网学习教程文章

不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象

JavaScript中的对象模型(object model)并不广为人知。我曾写过一篇关于他们的博客。之所以不被人所熟知,原因之一就是JavaScript是这些被人广泛使用的语言中唯一一个通过原型(prototype)来实现继承的。但是,我认为另一个原因就是这种对象模型非常复杂,难于解释。它为什么这么复杂并且又令人困惑呢?那是因为JavaScript试图去隐藏它传统的面向对象的特性——最终导致了它的双重人格(译者注:作者意思是JavaScript既有面向过程的特...

javascript 构造函数强制调用经验总结

兴致勃勃地定义了下面这么个构造函数: 代码如下:var Coder = function( nick ){ this.nick = nick; }; 定义构造函数结束后呢?没错,赶紧实例化: var coder = Coder( casper ); 这个coder兄弟叫什么名字?赶紧打印下: 代码如下:console.log( coder.nick ); //undefined = =b 竟然是undefined!!再回过头看看实例化的那个语句,不难发现问题出在哪里:少了个new var coder = Coder( casper ); //当作普通的函数来调用,故内部...

JavaScript面向对象设计二 构造函数模式

我们将使用构造函数模式将工厂模式进行改写。 代码如下:function Employee(name, age, job) { this.name = name; this.age = age; this.job = job; this.sayName = function () { alert(this.name); }; } var Jim = new Employee("jim", 22, "SoftWare Engineer"); var Sun = new Employee("Sun", 24, "Doctor"); Jim.sayName(); Sun.sayName(); 在以上代码中Employee函数取代了CreateEmployee函数,Employee中的代码与CreateEmp...

js面向对象设计用{}好还是function(){}好(构造函数)

在网上看了很多JavaScript的项目, 用到对象都是采用{}的形式: 例如jQuery, TinyMCE等都是形如: 代码如下:var Dialog = { int : function() { .... }, insert : function() { .... }, pop : function() { .... } }; //调用就是: Dialog.init(); 而我自己一直使用function闭包的方式, 感觉使用内部私有成员(函数,变量)更方便: 代码如下:function classDialog() { var box = "sdfsdf"; //init, insert等函数中调用公共变量就会很方...

JavaScript 原型继承之构造函数继承

上回说到《JavaScript 原型继承之基础机制》,这一篇将具体说说构造函数的继承。 从一个简单的示例开始,创建描述人类的 People 构造函数: 代码如下:function People(){ this.race = 愚蠢的人类; } 然后,创建描述黄种人的 Yellow 构造函数: 代码如下:function Yellow(name, skin){ this.name = name; this.skin = skin; } 要使得黄种人 Yellow 能继承人类 People 对象,在 JavaScript 中可以通过多种方式模拟实现。 1、对象...

JavaScript中使用构造函数实现继承的代码

代码如下://首先创建父类 function Person(name, age, address) { this.name = name; this.age = age; this.address = address; } //创建子类 function Student(score) { this.score = score; //可以用call方法或者是apply方法调用函数的构造函数 //调用父类的构造函数,通过call方法调用Person类的构造函数。这样就会在student中初始化Person对象,student也就有了Person的属性的副本 Person.call(this,"zhangsan",22,"中国北京!...

JavaScript 构造函数 面相对象学习必备知识

代码如下:function A(x) { this.x = x; } var obj = new A(5); alert(obj.x); 这段代码十分简单,但是我们重要的是看到了一个十分惊讶的结果,obj被我们赋予了一个属性x,就如同我们在C#中使用某个类的实例的时候一样。那么这个属性是怎么样产生的呢? 关键语句:this.x=x。这句话就是进行一个属性的申明与赋值,这里,我们肯定会问到,this是什么?为什么可以使用this.x来进行申明与赋值属性呢? 其实this代表的就是我们刚刚实例...

Javascript 使用function定义构造函数

Javascript中创建对象的语法是在new运算符的后面跟着一个函数的调用。如 代码如下:var obj = new Object(); var date = new Date(); 运算符new首先创建一个新的没有任何属性的对象,然后调用该函数,把新的对象作为this关键字的值传递。 代码如下:var date = new Date()的伪代码的实现就是 var obj = {}; var date = Date.call(obj); 构造函数的作用就是初始化一个新创建的对象,并在使用对象前设置对象的属性。如果定义自己的...

Javascript的构造函数和constructor属性【图】

例如,在Chrome下调试如下程序,很清楚的展示了这点: 然而事情并不是这么简单。再看下面的代码: 很显然,这个时候obj的constructor已经不再是创建它的函数,注意到obj.name也是undefined,因此修改构造函数的prototype的contructor并不会影响构造函数所产生的对象。真正的原因是:一个对象的constructor是它的构造函数的prototype.constructor,而每一个函数都有一个prototype,默认情况下,这个prototype有一个constructor属性...

javascript 混合的构造函数和原型方式,动态原型方式

我们日常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("r...

Javascript 构造函数,公有,私有特权和静态成员定义方法

代码如下://构造函数 function myClass(message) { //公有属性 this.myMessage = message; //私有属性 var _separator = -; var _myOwner = this; //私有方法 function showMessage() { alert(_myOwner.myMessage); } //特权方法(也是公有方法) this.appendToMessage = function(appendMessage) { this.myMessage += _separator + appendMessage; showMessage(); } } //公有方法 myClass.prototype.clearMessage = function() { t...

jQuery入门 构造函数【图】

JQuery优点 ?体积小(v1.2.3 15kb) ?丰富的DOM选择器(CSS1-3 + XPath) ?跨浏览器(IE6,FF,Safari,Opera) ?链式代码 ?强大的事件、样式支持 ?强大的AJAX功能 ?易于扩展,插件丰富 jQuery的构造函数接收四种类型的参数: jQuery(expression,context) jQuery(html) jQuery(elements) jQuery(fn) 第一种根据表达式(ID,DOM元素名,CSS表达式,XPath表达式)找出文档中的元素,并组装成一个jQuery对象返回。 DEMO: jQuery basic .se...

Javascript 构造函数 实例分析

/* *(REFER TO <JAVASCRIPT CORE>P151) *@time 2008-11-25 */ 代码如下://没有返回值 function Test0(){ this.name='test0'; } var test0=new Test0; //debugger; alert(test0);//输出[Object] alert(test0.name);//输出test0 //return 一个字符串对象 function Test(){ this.name='test'; return new String('123');// 返回字符串对象 } var test=new Test(); alert(test);//输出123 alert(test.name);//输出undefined,说明有构...

JavaScript学习8:类、构造函数和原型、ES5新增方法【代码】【图】

JavaScript学习8:类、构造函数和原型、ES5新增方法 文章目录 一、类二、构造函数和原型(ES6之前)三、ES5新增的方法一、类三个特性:封装性、继承性、多态性 ES6中的类和对象 基本使用:<script>//创建类 函数不用写function 不用加,分隔class Star {constructor(uname, age) { //构造函数 new的时候自动调用,返回实例对象this.uname = uname;this.age = age;}sing(song) {console.log(this.uname + song);}}//创建对象var...

JavaScript中重写对象(构造函数)的toString()函数【代码】【图】

实现构造函数中重写toString() 的方法: 首先,对象的原始的toString()函数是位于该对象的原型的原型对象中的,我们只要在该对象的原型中新建一个toString()函数就可覆盖对象的原始的toString()函数。 对于如何判断toString()函数是位于一个对象的原型的原型对象中,可以使用以下方法判断(以Person对象举例): var p = new Person(); console.log(p.__proto__.__proto__.hasOwnProperty("toString"));//返回值为true以下是重写toSt...

构造函数 - 相关标签
JAVASCRIPT - 技术教程分类
JavaScript 教程 JavaScript 简介 JavaScript 用法 JavaScript Chrome 中运行 JavaScript 输出 JavaScript 语法 JavaScript 语句 JavaScript 注释 JavaScript 变量 JavaScript 数据类型 JavaScript 对象 JavaScript 函数 JavaScript 作用域 JavaScript 事件 JavaScript 字符串 JavaScript 运算符 JavaScript 比较 JavaScript 条件语句 JavaScript switch 语句 JavaScript for 循环 JavaScript while 循环 JavaScript break 和 continue 语... JavaScript typeof JavaScript 类型转换 JavaScript 正则表达式 JavaScript 错误 JavaScript 调试 JavaScript 变量提升 JavaScript 严格模式 JavaScript 使用误区 JavaScript 表单 JavaScript 表单验证 JavaScript 验证 API JavaScript 保留关键字 JavaScript this JavaScript let 和 const JavaScript JSON JavaScript void JavaScript 异步编程 JavaScript Promise JavaScript 代码规范 JavaScript 函数定义 JavaScript 函数参数 JavaScript 函数调用 JavaScript 闭包 DOM 简介 DOM HTML DOM CSS DOM 事件 DOM EventListener DOM 元素 HTMLCollection 对象 NodeList 对象 JavaScript 对象 JavaScript prototype JavaScript Number 对象 JavaScript String JavaScript Date(日期) JavaScript Array(数组) JavaScript Boolean(布尔) JavaScript Math(算数) JavaScript RegExp 对象 JavaScript Window JavaScript Window Location JavaScript Navigator JavaScript 弹窗 JavaScript 计时事件 JavaScript Cookie JavaScript 库 JavaScript 实例 JavaScript 对象实例 JavaScript 浏览器对象实例 JavaScript HTML DOM 实例 JavaScript 总结 JavaScript 对象 HTML DOM 对象 JavaScript 异步编程 javascript 全部