一、什么是"非构造函数"的继承?//比如,现在有一个对象,叫做"中国人"。var Chinese = {nation:‘中国‘ };//还有一个对象,叫做"医生"。var Doctor ={career:‘医生‘ } 请问怎样才能让"医生"去继承"中国人",也就是说,我怎样才能生成一个"中国医生"的对象? 这里要注意,这两个对象都是普通对象,不是构造函数,无法使用构造函数方法实现"继承"。二、object()方法 json格式的发明人Douglas Crockford,提出了一个obje...
下面的javascript代码都是需要使用jQuery插件来做的。希望大家可以搭建好工作环境 首先我们来做一个练习:在一个删除的超链接中添加一个提示信息,提示是否确认删除。一般情况下我们都会这么做<html><head><title>delete.html</title></head><script type="text/javascript">function deleteTest(){window.confirm("是否确认删除");}</script><body>This is my HTML page. <br></body><!-- 给a的超链接添加一个点击事件 --><a oncl...
多态(Polymorphism)按字面的意思就是“多种状态”,同样的行为(方法)在不同对象上有不同的状态。 在OOP中很多地方都要用到多态的特性,比如同样是点击鼠标右键,点击快捷方式、点击桌面空白处、点击任务栏等弹出的菜单都是不同的。方法重写(override): 即子类定义一个与父类名字相同的方法,以此覆盖父类方法,以此来实现不同的功能。 1function Animal(){}2var AnimalP = Animal.prototype;3 AnimalP.eat = funct...
转载请注明出处 原文连接 http://blog.huanghanlian.com/article/5b698f22b8ea642ea9213f51我们怎么去模拟重载,在javasceipr中我们可以通过参数的类型区别或者数量的区别,来去让同样一个函数名字,可以根据不同的参数列表的情况来去调用相应的函数。javascript中函数类型是不确定的,并且参数的个数也是可以任意的,那么我们可以通过判断实际传入的参数的个数,来去做一个模拟的重载,OOP(模拟重载、链式调用、模块化)模拟重载 ...
<html> <head> <meta charset=utf-8 /> <!--引入jQuery--> <!--coder:syl_ad@163.com 孙亚龙---> <script src="jquery-1.7.2.min.js"></script> <script> var obj = { res : true ,nick_fun : function(o,tip){ if(this.res==true){ o.siblings("span").css("color","blue"); }else{ o.siblings("span").css("color","red"); }o.siblings("span").html(tip);}} $(function(){var regex = new RegEx...
requirejs.config({ paths:{ jquery:"jquery-1.11.1.min" }}) requirejs([‘jquery‘,‘backtop‘],function($,backtop){ new backtop.BackTop($(‘#backTop‘),{ mode:‘move‘, pos:100, speed:2000 })})原文:http://www.cnblogs.com/sunhe/p/4630690.html
1.概念面向对象不是一种语法,是一种编程的思想。2.创建对象var obj = {};var obj = new Object(); Object是一个系统提供的构造函数,这个构造函数专门用来创建对象使用的。空对象不要紧,知道怎么往对象中添加属性就行3.工厂函数定义一个函数,调用函数,传入参数就可以得到对象。 function createObj(name,age,sex){var obj = new Object();obj.name = name;obj.age = age;obj.sex = sex;return obj;}//传入参数就可以获得对象v...
一 BOM对象 window 的 相关属性1. 用户配置机器配置对象 navigator navigator.userAgent //该属性可以查看用户机器浏览器的配置"Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4"2. 用户uri访问地址 location 主 机:host: "www.baidu.com" 主机名称:hostname: "www.baidu.com" 完整uri :h...
用对象的方式写代码(简洁明了)普通写法称之为过程式写法,面向对象特点抽象(把一样的东西或方法抽取出来);封装性(只能通过对象.对象中方法去使用);继承(重复使用方法);面向对象的基本写法对象的组成实例:var arr=【】;//创建数组,也是一个对象arr,number=10;//对象下的变量是对象的属性arr.test=function(){//arr下的test方法alert(123);}arr.test();//调用arr下的test方法alert(arr,number);弹出arr下number属...
---恢复内容开始--- 1 ‘use strict‘2 function Tab(id){3 if(!id)return;4 this.oBox = document.getElementById(id);5 this.aBtn = this.oBox.getElementsByTagName(‘input‘);6 this.aDiv = this.oBox.getElementsByTagName(‘div‘);7 this.iNow = 0;8 this.init();9 } 10 Tab.prototype.init = function(){ 11 var _this = this; 12 for(var i=0;i<this.aBtn.length;i++){ 13 this...
Javascript面向对象编程(三):非构造函数的继承 作者: 阮一峰日期: 2010年5月24日这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现"继承"。今天是最后一个部分,介绍不使用构造函数实现"继承"。一、什么是"非构造函数"的继承?比如,现在有一个对象,叫做"中国人"。 var Chinese = { nation:‘中国‘ };还有一个对象,叫做"医生"。 var Doctor ={ career:‘医生‘ }请问怎样才能让"...
一、原型式继承该继承模式是由道格拉斯*克罗克福德在2006年提出的实现继承的方法.模式的基本思路:借助原型可以基于已有的对象创建新的对象,同时还不必因此创建自定义类型。代码如下:function object(o) {function F() { //定义一个F类型的对象this.name="111";}F.prototype=o;//使F的原型对象指向传入对象,也就是说F继承了传入的对象,也相当于用传入的对象重写了F的原型对象 相当于如下代码 /* F.prototype={name:"张三",friend...
一般面向过程的写法都是写很多function,坏处:1.代码复用不好 2.函数名称容易重复冲突 下面介绍面向对象的写法:在JS中每个函数function都是一个对象。比如,下面这个就是一个对象,我们在使用的时候就可以当作对象来使用。function HelloWorld() {alert(‘hello world!‘); }使用下面测试函数:调用该函数就会弹出‘hello world!‘function _test() {var obj = new HelloWorld(); //这里的对象没任何属性和方法 new的时候就调用了...
JS面向对象:JS面向对象基础: 1.什么是面向对象:即在不了解某个对象内部原理的情况下,我们就可以直接使用它的功能 使用面向对象时,我们只关注对象提供的功能,不关注内部的细节 面向对象是一种通用思想,并非只是在编程中才能使用 2.面向对象编程(OOP)的特点: --抽象:抓住核心问题,把与问题相关的特征抽出来,放到系统里面 --封装:不考虑内部实现,只考虑使用功能 --继承:从父类对象上继承一些方法/属性,子类...
第1章 引言1.1 回顾历史1.2 变革之风1.3 分析现状1.4 展望未来1.5 面向对象的程序设计 1.5.1 对象(属性和方法的集合) 1.5.2 类 (相似对象的共同特征,如麻雀、老鹰都是鸟类) 1.5.3 封装 (将属性和方法集合起来,也有封闭作用域的概念,如封装一个播放器对象) 1.5.4 聚合 (将几个对象合并成一个对象) 1.5.5 继承 (一个实例对象继承父级对象的一些属性和方法) 1.5.6 多态 (一个对象调用其他对象的方法,...