用对象的方式写代码(简洁明了)普通写法称之为过程式写法,面向对象特点抽象(把一样的东西或方法抽取出来);封装性(只能通过对象.对象中方法去使用);继承(重复使用方法);面向对象的基本写法对象的组成实例:var arr=【】;//创建数组,也是一个对象arr,number=10;//对象下的变量是对象的属性arr.test=function(){//arr下的test方法alert(123);}arr.test();//调用arr下的test方法alert(arr,number);弹出arr下number属...
function People(name){this.name=name;//对象方法this.Introduce=function(){alert("My name is "+this.name);}}//类方法People.Run=function(){alert("I can run");}//原型方法People.prototype.IntroduceChinese=function(){alert("我的名字是"+this.name);} //测试var p1=new People("Windking");p1.Introduce();People.Run();p1.IntroduceChinese();1、对象方法理解就很简单了,主要是如果类生成一个实例,那么该实例就能使用...
---恢复内容开始--- 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...
2.1 什么是对象JavaScript 的所有数据都可以被视为对象,而每个对象都有其 属性(properties)和 方法(methods)。对象的 属性 是反映该对象某些特定的性质的,例如:字符串的长度、图像的长宽、文字框(Textbox)里的文字等;对象的 方法 能对该对象做一些事情,例如,表单的“提交”(Submit),窗口的“滚动”(Scrolling)等。比如当申请一个变量的时候:var my_var="shiyanlou";其实也就是创建了一个 字符串对象 ,这个对象拥有...
一、JavaScript 对象概述对象概述 - 通用定义 - 对象时需求场景中的名词(如人、事、物)在程序中的表示 - JavaScript 中,除了string、number、boolean、null、undefined之外,其它的数据都是对象,如数组、日期甚至函数等 - ECMA-262定义 - 属性的无序集合,每个属性存放一个原始值、对象或函数 - 对象是无特定顺序的值的数组 - 对象是一种特殊的数据类型,可以包含多个成员 - 对象的成员分为两种: 属性和...
一、事件简介事件:就是文档或浏览器窗口中发生的一些特定的交互瞬间。对于 Web 应用来说,有下面这些代表性的事件:点击某个元素、将鼠标移动至某个元素上方、关闭弹窗等等。JavaScript 是以**事件驱动为核心**的一门语言。JavaScript 与 HTML 之间的交互是通过事件实现的。1、事件的三要素**事件的三要素:事件源、事件、事件驱动程序**。比如,我用手去按开关,灯亮了。这件事情里,事件源是:手。事件是:按开关。事件驱动程序...
Javascript面向对象编程(三):非构造函数的继承 作者: 阮一峰日期: 2010年5月24日这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现"继承"。今天是最后一个部分,介绍不使用构造函数实现"继承"。一、什么是"非构造函数"的继承?比如,现在有一个对象,叫做"中国人"。 var Chinese = { nation:‘中国‘ };还有一个对象,叫做"医生"。 var Doctor ={ career:‘医生‘ }请问怎样才能让"...
JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例。有两种方式可以创建RegExp对象的实例。使用RegExp的显式构造函数,语法为:new RegExp("pattern"[,"flags"])。 使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]。 pattern部分为要使用的正则表达式模式文本,是必须的。在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号括...
JavaScript 并非绝对化的面向对象的语言,里面也有很多非结构化和结构化的数据。赋值语句并不能复制结构化的数据对象。例如: var S1 = []var A = obj(), var B = obj();Stack.push(A);Stack.push(B);Var S2 = []S2 = S1;S1是一个对象数组,里面放了两个对象数据A和B,在赋值操作的时候,A,B对象不会被创建,而只是指向A,B的链接。下面三种方式,可以实现对象的克隆:1、 如果你知道A,B的数据结构信息,直接写克隆函数,创建A,...
声明式函数定义; function add(m,n) {alert(m+n);}这种方式等同于构造一个Function类的实例的方式:var add = new Function("m", "n", "alert(m+n);");原文:http://www.cnblogs.com/guangshan/p/4593188.html
一、原型式继承该继承模式是由道格拉斯*克罗克福德在2006年提出的实现继承的方法.模式的基本思路:借助原型可以基于已有的对象创建新的对象,同时还不必因此创建自定义类型。代码如下:function object(o) {function F() { //定义一个F类型的对象this.name="111";}F.prototype=o;//使F的原型对象指向传入对象,也就是说F继承了传入的对象,也相当于用传入的对象重写了F的原型对象 相当于如下代码 /* F.prototype={name:"张三",friend...
JS对象类别内置对象 如Array Date Function宿主对象 比如浏览器中的window自定义对象 用户在代码中创建的对象的构成属性按继承区分自有属性继承属性 对象原型中定义的属性按类别分数据属性存取器属性 var o = {get name() {},set name(value) {}, }三个对象特性对象原型 prototype对象的类 class对象的拓展标记属性特性数据属性特性 value,writable,enumerable,configurable存取器属性 get,set,enumerable,configurable属性描述符...
1 C,C++,Java,PHP都能容忍末尾的逗号C,C++,Java中对数组赋值时,最后一个元素末尾的逗号可有可无。下面两行代码对这些语言来说是等效的。int a[] = {1,2,3}; /* 正确 */int a[] = {1,2,3,}; /* 正确 */PHP这一点也继承了C的特点,下面的两行代码等效。$a = array(1,2,3); /* 正确 */$a = array(1,2,3,); /* 正确 */2 JavaScript视末尾逗号为语法错误!然而到了JavaScript,情况大不相同了,最后一个元素末尾一定不能有逗...
原文地址在使用js编程的时候,常常会用到集合对象,集合对象其实是一种泛型,在js中没有明确的规定其内元素的类型,但在强类型语言譬如Java中泛型强制要求指定类型。ES6引入了iterable类型,Array,Map,Set都属于iterable类型,它们可以使用for...of循环来遍历,都内置forEach方法。数组遍历普通遍历最简单的一种,也是使用频率最高的一种。let arr = [‘a‘,‘b‘,‘c‘,‘d‘,‘e‘] for (let i =0; i <arr.length; i++) {conso...
一、对象概述对象中包含一系列的属性,这些属性是无序的。每个属性都有一个字符串key和对应的value。var obj={x:1,y:2}; obj.x; obj.y;1、为什么属性的key必须是字符串重点:可见,字符串的1和数字1访问的都是同一个属性不管把空对象作为一个key,还是用带有x属性的对象作为key,实际上javascript都会把它转化为字符串,会toString()一下再去处理。所以最终依然指向同样一个属性。2、对象结构1、对象属性的结构对象的属性可以动态添...