JS构造函数的用法和JS原型】的更多相关文章

$(function(){ var rec = new Rectangle(5, 10); //alert(rec.width + "*" + rec.height + "=" + rec.area()); //alert(rec.hasOwnProperty("width")); //alert("area" in rec); //alert(rec.toString()); var message = "hell…
1.对象创建的3中方法 1.1.对象字面量 var obj = { name: "mingzi", work: function () { console.log("working...") }, _age: 18, //下划线开头表示该属性不建议在外部被直接访问,但是任然可以被访问,除非使用类或函数定义 //age: 18,使用下划线定义属性后,对象上会默认生成这样一个没有下划线的属性引用,指向同一个值,用来被外部访问 get age(){ console.log…
很快就要从新浪离职了,最近心情比较轻松,抽点空整理一下构造函数和原型的机理. 我们都知道,在经典设计模式中我们最常用的就是工厂模式.构造函数模式.原型模式这几种,听起来‘模式’好像很高大上的样子,实际上我们在日常写js代码中会经常用到. 简单的说,工厂模式就是我们平常写的一个个函数,当要完成某项功能时,就一遍一遍调用这个函数.如: function add(a,b){ return a+b; } 这是一个很简单的代码,完成的是一个很简单的两数相加的功能,当我们需要两数相加的计算时,调用这个函数就…
js最好的继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法. function ClassA(sColor) { this.color = sColor; } ClassA.prototype.sayColor = function () { alert(this.color); }; function ClassB(sColor, sName) {//在 ClassB 构造函数中,用对象冒充继承 ClassA 类的 sColor 属性 ClassA.call(th…
js一种继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法. function ClassA(sColor) { this.color = sColor; } ClassA.prototype.sayColor = function () { alert(this.color); }; function ClassB(sColor, sName) {//在 ClassB 构造函数中,用对象冒充继承 ClassA 类的 sColor 属性 ClassA.call(thi…
一.前言 了解JavaScript面向对象,需要先了解三个名词: 构造函数,实例对象和原型对象. 注意:JavaScript中没有类(class)的概念,取而代之的是构造函数,两者类似却又有很大的差别. 先上代码,最常用的: function Person(name, age) { this.name = name; this.age = age; this.eat= function() { alert('吃西红柿') } } var person1 = new Person('小米', 28…
js 构造函数 & 静态方法 & 原型 & 实例方法 ES5 "use strict"; /** * * @author xgqfrms * @license MIT * @copyright xgqfrms * @created 2020-10-10 * @modified * * @description 构造函数 静态方法 & 构造函数的原型 实例方法 * @description 构造函数上添加只有构造函数可以访问的静态方法 * @descrip…
构造函数,实例对象和原型对象,三者关系 构造函数里面有原型(prototype)属性,即原型对象 原型对象里的constryctor构造器指向构造函数 通过构造函数,实例化,创建的就是实例对象. 实例对象通过__proto__属性调用原型对象里面的方法 构造函数可以实例化对象 构造函数中有一个属性叫prototype, 是构造函数的原型对象 构造函数的原型对象(prototype)中有一个constructor构造器, 这个构造器指向的就是自己所在的原型对象所在的构造函数 实例对象的原型对象(_…
//构造函数 //使自己的对象多次复制,同时实例根据设置的访问等级可以访问其内部的属性和方法 //当对象被实例化后,构造函数会立即执行它所包含的任何代码 function myObject(msg) { //特权属性(公有属性) this.myMsg = msg; //只在被实例化后的实例中可调用 this.address = 'Chengdu'; //私有属性:无法通过对象直接访问 var name = 'Tirion'; var that = this; //私有方法 function sa…
Class 在语法上更加贴合面向对象的写法 Class 实现继承更加易读.易理解 更易于写 java 等后端语言的使用 本质还是语法糖,使用 prototype Class语法 typeof MathHandle // 'function' MathHandle.prototype.construcroe === MathHandle  // 构造函数的显示原型有个construvtor等于它的构造函数本身 m.__proto__ === MathHandle.prototype // true…