JS原型学习笔记

1.原型是函数对象的属性,它的初始值是一个空对象,这个prototype原型对象可以添加方法和属性。

2.构造器对象查找属性和方法时先查找构造器后查找原型。

3.若构造器中的属性和原型中的属性相同,构造器的优先级会高于原型。

4.枚举属性(for-in)

(1).数组枚举

var a=[1,2,3];

for(var i in a){

  console.log(a[i]);

}

(2).对象枚举

var a={name:"gao",age:"18",sex:"male"};

for(var i in a){

  console.log(i+"="+a[i]);

}

5.构造器对象枚举

function Obj(name,age){

  this.name=name;

  this.age=age;

  this.getInfo=function(){

    return "age:"+this.age+",name:"+this.name;

  }

}

Obj.prototype.score=121;

Obj.prototype.scape="MS";

Obj.prototype.getSc=function(){

  return "score:"+this.score+".scope:"+this.scope;

}

var me=new Obj("gx","17");

for(var prop in me){

  if(me.hasOwnProperty(prop)){

    console.log(prop+"="+me[prop]);

  }

}

6.hasOwnProperty()函数判断属性是否为构造器自身属性

7.isPrototypeOf()方法,当前对象是否为另一个对象的原型

8.当对prototype对象进行重写时,需重置constructor。

时间: 2024-11-07 17:41:23

JS原型学习笔记的相关文章

js基础学习笔记(二)

2.1  输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用“”括起,直接输出""号内的内容. <script type="text/javascript"> document.write("I love JavaScript!"); //内容用""括起来,""里的内容直接输出.

js基础学习笔记(一)

* 在js编写过程中,尽量保持统一使用单引号 'XXXX': * 所有变量都要声明 var,避免全局函数调用的冲突: 1.1    输出内容 docment.write(‘aileLi’); 改变某ID元素样式 docment.getElementById(‘ID’).style.color=’样式参数’; 1.2   输出弹出框 alert(‘aileLi’); 1.5  什么是变量?  从字面上看,变量是可变的量: 从编程角度讲,变量是用于存储某种/某些数值的存储器. 定义变量使用关键字va

js基础学习笔记(三)

3.1 认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面代码: 将HTML代码分解为DOM节点层次图: HTML文档可以说由节点构成的集合,三种常见的DOM节点: 1. 元素节点:上图中<html>.<body>.<p>等都是元素节点,即标签. 2. 文本节点:向用户展示的内容,如<li>...</li&g

Win8 HTML5与JS编程学习笔记(二)

近期一直受到win8应用的Grid布局困扰,经过了半下午加半个晚上的奋斗,终于是弄明白了Grid布局方法的规则.之前我是阅读的微软官方的开发教程,书中没有详细说明CSS3的布局规则,自己鼓捣了半天也是一头雾水,于是又找到了官方的启蒙教程的布局一张,仔细阅读了一遍,又思考了代码,并在代码的基础上实验,终于是明白了布局方法.官方教程地址是:http://msdn.microsoft.com/zh-cn/library/windows/apps/jj841108.aspx 微软基于CSS3开发了Gri

JS 事件学习笔记(二)

在JS事件学习笔记(一)中学习了事件流.事件处理程序.事件对象以及跨浏览器应该怎么做等知识,现在我们现在来学习浏览器中主要的各种事件. 一. load事件 load事件通常是通过JavaScript代码指定,在window对象上绑定,实际上根据DOM2规定,应该在document上而非window上触发load事件,但是所有浏览器都在window对象上实现了该事件.因此以确保兼容性推荐使用该方法: 另外,在window上发生的事件也可以作为body元素的属性在html代码中添加. load事件的

js/jquery学习笔记

javascript简介 JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言. 不同于服务器端脚本语言,例如PHP与ASP,JavaScript是客户端脚本语言,也就是说JavaScript是在用户的浏览器上运行,不需要服务器的支持而可以独立运行 . JavaScript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行.解释语言的弱 点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的语

关于Mootools.js的学习笔记

经过几天的学习,今天学习完Mootools.js框架,感觉和jquery差不多,也有他自己的长处,对dom元素,Event事件有更多的扩展,他的简写可能会和jquery有冲突.但是还是有些不懂的地方,里面好像有几个别的js库但是网上下载不到例如:Dom.js ,Color.js,Window.Base.js这些,希望知道的朋友告诉下!http://mootools.net/core/docs/1.5.1/Request/Request.HTML--文档 1.mootools.js可以代替prot

js类、原型——学习笔记

js 内置有很多类,我们用的,都是从这些类实例化出来的. 1 function Object () {} 2 function Array () {} 3 function String () {} 4 function Boolean () {} 5 function Function () {} 比如,var a = {};等同于var a = new Object(); var a =[];等同于var a = new Array(); 现在我们要创建一个自定义的类.在SmartList.

《JS高程》对象&amp;原型学习笔记

ECMA-262 把对象定义为:”无序属性的集合,其属性可以包含基本值.对象或者函数.”可以把 ECMAScript 的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数. 6.1.理解对象 创建自定义对象的两种方式: (1)创建一个 Object 的实例: var person = new Object(); (2)对象字面量(首选): var person = {}; ---------------------------------------------------------