首先是在访问上的区别,当访问实例对象的某个属性但它本身没有时,它就会到原型中去查找,但不会去查找静态属性. // 实例对象不会去查找静态属性 function Foo(){} Foo.a = 1; var foo = new Foo(); foo.a // undefined // 当实例对象没有某个属性时,会尝试去原型中查找 function Foo(){} Foo.prototype.a = 1; var foo = new Foo(); foo.a // 1 静态方法中的this指向调用它…
  前  言 JRedu 上一篇博客中,我们介绍了JS中的面向对象,并详细的解释了this的指向问题.本篇博客,我们继续来学习JS的面向对象.来深入理解一下JavaScript OOP中的成员属性/方法.静态属性/方法.原型属性/方法,并且一起来探讨一下JS中的原型与原型链. 一 成员属性与成员方法 在构造函数中,通过this.属性声明.或者实例化出对象后,通过“对象.属性”追加的.都属于成员属性.或成员方法:也叫实例属性与实例方法 成员属性/方法,是属于实例化出的这个对象.通过"对象.属性&q…
再说意义之前,前说一下这两个属性的适用范围: 注意:这两个属性只能用于元素设置了overflow的css样式中.否者这两个属性没有任何意义.且overflow的值不能为visible,但可以为hidden,auto,scroll的之中,但是hidden最常见. 注意:在对这两个参数设置值时,直接用数字就可以了,否者不起作用. javascript中元素的scrollLeft和scrollTop属性的参数意义: scrollLeft:是该元素的显示(可见)的内容与该元素实际的内容的距离. 即设置s…
span { font-family: 'Consolas'; font-size: 10pt; color: #ffffff; } .sc0 { } .sc2 { color: #c0c0c0; } .sc4 { color: #80ffff; } .sc5 { font-weight: bold; font-style: italic; color: #00ffff; } .sc6 { } .sc10 { font-weight: bold; color: #80ffff; } .sc11…
<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title>测试文档</title>     <script type="text/javascript"> // 实质上属性和方法是一样的,方法是属性为引用型的函数. //一个对象有4种属性: //                 1,构造函数通过this关键…
Javascript中的数据值有两大类:基本类型的数据值和引用类型的数据值. 基本类型的数据值有5种:null.undefined.number.boolean和string. 引用类型的数据值往大的说就1种,即Object类型.往细的说有:Object类型.Array类型.Date类型.Regexp类型.Function类型等. 当原型对象的属性值为基本类型的数据值时,通过实例对象修改属性值从而引起原型对象的属性值发生变化的情况不会发生.当原型对象的属性值为引用类型的数据值时,通过实例对象修改…
在学习JavaScript原型(prototype)和原型链(prototype chain)知识的时候,发现数据属性和访问器属性的重要性,通过不断的查找相关知识,浅显理解如下,若有差错,希望不吝赐教: 一.数据属性 1.什么是数据属性 默认的对象的属性就是数据属性,一般用于数据存储,有四个特性描述它的行为: ①属性值 [value]:用来保存这个属性的数据值,默认值是undefined; ②可写性 [writable]:表示是否能修改这个属性的值,默认值是true; ③可枚举性 [enumbe…
感谢Mozilla 让我弄懂继承. JavaScript有八种基本类型,函数属于object.所以所有函数都继承自object.//扩展:对象,基本上 JavaScript 里的任何东西都是对象,而且都可以被储存在变量里.将这个记在脑子里. 与传统的基于类的面向对象语言不同,javascript中没有从一个类扩展出另一个类的底层类结构.在javascript中,继承是通过简单地从一个对象原形向另一个对象原形复制方法而实现的.---<javascript DOM 高级程序设计> 并且每个函数和对…
参考资料http://caibaojian.com/toutiao/5446 1.所有变量声明(var)或者声明函数都会被提升到当前函数顶部 关于函数表达式,js会将代码拆分为两行代码分别执行.这里需要注意的是 var getName 和 function getName都是声明语句,区别在于var getName是函数表达式,function getName是函数声明,这里使用var进行函数声明和变量声明时一样的,都是声明提前至当前函数最顶部,二函数声明是将函数声明提升至当前函数顶部.(这个有…
前言 在javascript中,数组是一种非常重要的数据类型,我们时常会和它打交道,最近在开发项目中频繁的使用到数组,但是自己对数组的众多方法已经是非常模糊了,为了方便自己以后能够更好的使用数组中的属性和方法,在此记录一下. 数组常用的属性和方法 常用属性 Array.length:返回数组的大小 常用方法 Array.pop():删除并返回数组的最后一个元素 Array.push():向数组的结尾添加元素 Array.shift():将元素移除数组 Array.unshift():向数组头部添…