声明对象原型,公有属性. obj对象,它用一个属性__proto__记录了自己的原型 改掉它的原型为公有属性.那么obj这个对象及有了hi的方法.因为obj自己没有hi.那么就去自己的原型上去找了. obj.hi等价于公有属性.hi.call(obj). obj作为参数传递了过去. obj把自己传给hi.原型里面必须通过this去拿到.this是隐藏的真正的第一参数. oobj对应的this,yyy对应的第二个参数a 用简单的方式 修改了原型,原型上的hi方法输出hi 使用原型来模拟类 同一类对…
JS中定义类的方式有很多种: 1.工厂方式    function Car(){     var ocar = new Object;     ocar.color = "blue";     ocar.doors = 4;     ocar.showColor = function(){      document.write(this.color)     };     return ocar;    }    var car1 = Car();   var car2 = Car(…
转载地址:http://blog.csdn.net/sdlfx/article/details/1842218 PS(个人理解): 1) 类通过prototype定义的成员(方法或属性),是每个类对象共有的,一般不用来定义成员属性,一个对象修改了属性值,所有对象均被修改: 2) 类拥有prototype属性,类对象没有: 3) 每次new类对象或直接调用类(以下工厂方法形式),都会把定义类(function)的语句执行一次(单例模式可以避免这个情况): 4) 类是function类型,类对象是o…
js中尺寸类样式 一:鼠标尺寸类样式 都要事件对象的配合 Tip:注意与浏览器及元素尺寸分开,鼠标类尺寸样式都是X,Y,浏览器及元素的各项尺寸时Height,Width 1:检测相对于浏览器的位置:event.clientX/event.clientY client:整个浏览器的可视区域,当点击鼠标的时候,鼠标事件发生的位置距离浏览器可视区域的左边和上边的距离 clientX:鼠标事件发生的位置距离浏览器可视区域的左边的距离 clientY:鼠标事件发生的位置距离浏览器可视区域的上边的距离 2:…
1.app.js /** * 原生 JS 中的类.静态方法.继承 * es5中的类和静态方法 */ function Person(name, age) { // 构造函数里面的方法和属性 this.name = name; this.age = age; this.run = function () { console.log(`${this.name} --- ${this.age}`) } } // 原型链上面的属性和方法可以被多个实例共享 Person.prototype.sex = '…
js中的类 1.类的声明 function Person(name,age){ this.name=name; this.age=age; this.test=function(a){ alert(a); } } 2.类的使用 var p1=new Person("张三",23); alert(p1.name); js中类的内容只是对象的公共部分,每个对象还可以自定义的进行扩充. 3.类的"继承" prototype关键字 通过prototype关键字,实现不同对象…
Class - 类创建 Class类实现了在JavaScript中声明一个新的类, 并通过构造函数实例化这个类的机制.通过使用Class.create()方法, 你实际上声明了一个新的类, 并定义了一个initialize()方法作为构造函数, 一旦你在这个声明的类的prototype中实现了改该方法, 你就可以使用new操作符来创建并实例化一个类. Knowledge Prepare - 知识准备 在JavaScript中, 当你定义了一个新的函数, 你实际上声明了一个新的类, 而这个函数本身…
今天在看到<Java疯狂讲义>中一个章节习题: 开发一个工具类,该工具类提供一个eval()方法,实现JavaScript中eval()函数的功能--可以动态运行一行或多行程序代码.例如:eval("System.out.println("hello world")"),将输出hello world. ___ code: import java.io.*; /** * Java创建一个类似于js中eval()的方法 */ public class Eva…
概述 经典的老书害人啊,全是讨论怎么解决javascript里面用函数形式定义类的坑.结果es2015直接用class关键字解决了所有问题.虽然class关键字没有什么新东西,只是js现有继承结构的语法糖,但是用起来真的很方便.我把它们记录下来,供以后开发时参考,相信对其他人也有用. 参考:MDN Classes,MDN class declaration,MDN class expression,MDN function declaration,MDN function expression…
ES6新出的关键class BE受雇与网景开发了JS 当我们在写一个对象的时候,我们实际上内存的形式表示. obj等于一个空对象,可以直接toString.它为什么可以有toString window是一个全局的对象. window下有个object的属性. 通过window.Object.prototype找到了toString 为了方便理解,当说原型的时候 先理解为共用属性. toString是很多对象的共用属性. 当谢var obj为一个空对象的时候,为什么可以获取到toString的方法…