【javascript——继承】教程文章相关的互联网学习教程文章

是否可以通过仅使用apply函数并且不使用prototype属性在JavaScript中使用继承?【代码】

我正在尝试学习JavaScript对象继承.我指的是Shelley Powers的JavaScript Cookbook. 在子类中,您需要调用superclass.apply(this,arguments)来使用其属性.根据这本书,我还需要编写类似subclass.prototype = new superclass(); 但是,我注意到事情没有使用subclass.prototype = new superclass();声明.以下是我的代码. subclass.prototype = new superclass()的目的是什么?var Book = function (newTitle, newAuthor) {var title;var ...

没有’new’关键字的JavaScript继承【代码】

我习惯在我的代码中使用这个模式,我喜欢它:var UserWidget = (function(){var url = "/users",tmpl = "#users li", $tmpl;function load() {$tmpl = $(tmpl);$.getJSON(url, function(json){$.each(json, function(i, v) {appendUser(v); });});}...return {load: load}; })();但是,我有很多“小部件”对象. “ProfileWidget”,“PlayerWidget”等等,每个小部件共享的某些动作.理想情况下,如果我们以面向对象的方式思考...

Javascript继承并丢失’this’的上下文【代码】

我正在使用John Resig的简单JavaScript继承,并遇到了一个问题,我正在失去’this’所指的内容.使用此代码:var Runner = Class.extend({ init: function() {this.update();if(!this.interval) {this.interval = setInterval(this.update, this.period * 1000);}},stop: function() {clearInterval(this.interval);},update: function() {this.success()},success: function(){} });var SubRunner = Runner.extend({update: function...

javascript – CoffeeScript,原型继承和构造函数【代码】

在CoffeeScript中,似乎在实例化子类时不会调用超类构造函数. 有没有解决的办法? 这是一个例子:class Aelement = nullconstructor: ->element = document.createElement "div"hide: =>element.style.display = "none"class B extends Aconstructor: ->@hide() #error!我希望首先调用A的构造函数,然后调用B的构造函数.如果B然后调用hide方法,它应该隐藏在A的构造函数中创建的元素,而不是说该元素为null. 谢谢!解决方法:我想你需要...

使用apply继承JavaScript【代码】

我正在尝试使用函数apply将类B扩展到类A,将类A扩展到类Super.以下代码可以正常工作:function Super() {this.talk = function () {alert("Hello");}; }function A() {// instance of A inherits SuperSuper.apply(this); }function B() {// instance of B inherits AA.apply(this); }var x = new B(); x.talk(); // Hello但是,如果我想要A类继承自Super类,而不仅仅是它的实例呢?我试过这个:function Super() {this.talk = functi...

简单的Javascript继承示例【代码】

我试图在JavaScript中实现简单的继承概念,而不使用任何外部库.这是我的代码.<script>BaseClass = function () {this.doSomething = function () {console.log("base class");};};DerivedClass1 = function () {var bc = new BaseClass();bc.doSomething = function () {console.log("derived class");};return bc;};DerivedClass2 = function () {var bc = new BaseClass();return bc;}var cls1 = new DerivedClass1();cls1.doSome...

关于继承和原型的javascript问题【代码】

在jQuery库中,我发现了这一行jQuery.extend = jQuery.fn.extend = function() {这种困惑让我感到困惑.我认为一个给定的对象自动提供对其原型方法的访问(换句话说,如果一个方法或var没有在对象本身上解析,则在其原型上尝试,然后在原型的原型上等等). 那么,将功能与对象和原型相关联的原因是什么? (在jQuery fn中是原型的别名).解决方法:神奇的原型是构造函数的属性,而不是对象. jQuery的一个实例将继承原型的扩展,但jQuery需要自己...

使用JavaScript进行深度继承?【代码】

我知道我可以在JavaScript中做一个简单的原型继承,如下所示:var Parent = function() { };var Child = function() { }Child.prototype = new Parent(); Child.prototype.constructor = Child;但是,我很想知道如何实现更深层次的遗产?那么多继承怎么可能呢?解决方法:您不能在JavaScript中进行多重继承.只需更进一步,您就可以做更深的继承:var Parent = function() {}; var Child = function() {}; var InnerChild = function() ...

javascript – 隐私的伪经典继承?【代码】

在JavaScript:The Good Parts中,Crockford认为使用伪经典继承模式的一个缺点是它公开暴露实例变量. 例如:var Ball = function(width, color) {this.width = width;this.color = color; }var redBall = new Ball(5, "red"); redBall.width = 12; // Changes width to 12现在,如果我希望球的宽度是私密的呢? 这是我尝试过的:var Ball = function(width, color) {this.getWidth = function() { return width; }this.color = color...

javascript – 在Vuex模块中进行继承的方法【代码】

我用VueJS和Vuex构建我的应用程序,当我有多个模块使用相同的数据字段时,我正面临着这个问题.它关于像dat这样的API配置.getUsers ({ state, commit }) {axios.get(urls.API_USER_URL).then( response => {let data = response.data;parseApi(state, data, 'user');}).catch( err => {console.log('getUser error: ', err);}) },其他模块中的另一个功能就像getPosts ({ state, commit }) {axios.get(urls.API_POST_URL).then( respon...

JavaScript 常见的六种继承方式

前言 面向对象编程很重要的一个方面,就是对象的继承。A 对象通过继承 B 对象,就能直接拥有 B 对象的所有属性和方法。这对于代码的复用是非常有用的。 大部分面向对象的编程语言,都是通过“类”(class)实现对象的继承。传统上,JavaScript 语言的继承不通过 class(ES6 引入了class 语法),而是通过“原型对象”(prototype)实现。那么在JS中常见的继承方式有几种呢? ?方式一、原型链继承 这种方式关键在于:子类型的原型为父类...

在JavaScript中,如何使用[]运算符访问从Array继承的对象?【代码】

我有一种情况,我需要创建一个从Array继承的新JavaScript对象.我使用以下代码:// Create constructor function. var SpecialArray = function () {};// Create intermediate function to create closure upon Array's prototype. // This prevents littering of native Array's prototype. var ISpecialArray = function () {}; ISpecialArray.prototype = Array.prototype; SpecialArray.prototype = new ISpecialArray(); Specia...

javascript:创建一个继承自多个构造函数原型的对象【代码】

说我有两个构造函数:A = function () {this.x = 'x'; }; A.prototype.a = 'a';B = function () {this.y = 'y'; }; B.prototype.b = 'b';如何创建一个将继承自的对象ab两者的原型?所以下面的例子将起作用:ab.a === 'a'; // true ab.b === 'b'; // true A.prototype.a = 'm'; ab.a === 'm'; // true B.prototype.b = 'n'; ab.b === 'n'; // true谢谢解决方法:你不能,只有一个原型链.你基本上有三个选择: 从一个继承,复制另一个 在...

Javascript – 继承和调用来自child的父方法【代码】

我现在用javascript在javascript中争取几天,但我找不到解决方案. 我已经创建了3个对象,一个超类,一个子类和一个inheritance_manager,它应该在我的子类上完成所有“原型”-magic. 继承经理:Inheritance_Manager = {}; Inheritance_Manager.extend = function(subClass, baseClass) {function inheritance() {}inheritance.prototype = baseClass.prototype;subClass.prototype = new inheritance();subClass.prototype.constructor...

javascript – 正确的原型继承【代码】

所以我真的在互联网上看了很多不同的方法来设置javascript中的原型继承. 其中一些使用call().他们中的一些使用这个sytnax:var rabbit.prototype = new Animal.其中一些在更改原型后更改了构造函数,有些则没有.有些设置了一个有助于设置继承的功能. 有人可以对此有所了解吗?有很多关于这个的帖子,但好的帖子是2岁,他们在我的脑海里引起了很大的混乱.我想一劳永逸地知道如何在javascript中正确设置原型继承. 如果它很简单就更好了!...

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 全部