关于js高级里面的构造函数和原型

1.字面量创建方式

var obj={};

2.new关键字

var obj=new Object();

3.构造函数的方式

function Person(uname,age){

this.uname=uname;

this.age=age;

}

var obj=new Person(‘刘德华‘,‘18‘);

4.构造函数原型prototype

function Star(uname, age) {

this.uname = uname;     this.age = age; }

Star.prototype.sing = function() {

console.log(‘我会唱歌‘);      }

var ldh = new Star(‘刘德华‘, 18);

var zxy = new Star(‘张学友‘, 19);

ldh.sing();//我会唱歌

zxy.sing();//我会唱歌

5.继承

(1)call()可以调用函数 ,可以修改this的指向  使用call()的时候参数要是修改后this的指向

6.新增的几种方法

(1)遍历数组forEach

arr.forEach(function(value, index, array) {

//参数一是:数组元素

//参数二是:数组元素的索引

//参数三是:当前的数组

})   //相当于数组遍历的 for循环 没有返回值

(2)过滤数组filter

var arr = [12, 66, 4, 88, 3, 7];

var newArr = arr.filter(function(value, index,array) {

//参数一是:数组元素

//参数二是:数组元素的索引

//参数三是:当前的数组

return value >= 20;

});

console.log(newArr);//[66,88] //返回值是一个新数组

(3)数组方法some

查找数组中是否满足条件的元素

如果有一个满足条件的元素,立马终止循环

原文地址:https://www.cnblogs.com/piyangtao/p/11455920.html

时间: 2024-08-01 06:02:56

关于js高级里面的构造函数和原型的相关文章

js高级构造函数,实例对象和原型对象——prototype、__proto__和constructor构造器

一.前言 了解JavaScript面向对象,需要先了解三个名词: 构造函数,实例对象和原型对象. 注意:JavaScript中没有类(class)的概念,取而代之的是构造函数,两者类似却又有很大的差别. 先上代码,最常用的: function Person(name, age) { this.name = name; this.age = age; this.eat= function() { alert('吃西红柿') } } var person1 = new Person('小米', 28

JS基础——构造函数VS原型函数

JS是一种基于对象的语言,在使用过程中不免遇到复制对象的问题,但通常我们采用的直接赋值'obj1=obj2'这种做法会出现数据覆盖问题.也就是对象引用过程中引用地址一致,导致对象数据被修改的问题.这时我们可以采用工厂模式来对对象进行实例化,从而实现对象的引用地址一致导致的数据覆盖问题.但此时,问题随之又来了,使用工厂模式,对于具体的实例所属的具体对象又搞不清楚,在JS中采用构造方法来解决对象实例的数据覆盖问题(这里和其它语言的原理是类似的). 一.构造函数 在其它语言中接触过构造函数,通常它与类

js面向对象小结(工厂模式,构造函数,原型方法,继承)

最近过了一遍尼古拉斯泽卡斯的高级程序设计第三版(红皮书)第六章:面向对象程序设计,现在把总结出来的东西和大家分享一下. 主要内容如下: 1.工厂模式 2.构造函数模式 3.原型模式 4.继承 一.工厂模式 工厂模式中的函数中会创建一个对象,最后return这个对象,通过每次调用时传入的参数不同来解决创建多个相似对象的问题. // 工厂模式 function creatPerson(name, age, job) { var o = {}; o.name = name; o.age = age;

深入研究js构造函数和原型

很快就要从新浪离职了,最近心情比较轻松,抽点空整理一下构造函数和原型的机理. 我们都知道,在经典设计模式中我们最常用的就是工厂模式.构造函数模式.原型模式这几种,听起来‘模式’好像很高大上的样子,实际上我们在日常写js代码中会经常用到. 简单的说,工厂模式就是我们平常写的一个个函数,当要完成某项功能时,就一遍一遍调用这个函数.如: function add(a,b){ return a+b; } 这是一个很简单的代码,完成的是一个很简单的两数相加的功能,当我们需要两数相加的计算时,调用这个函数就

JS高级---原型

原型 作用1 :节省空间,数据共享 function Person(name,age){ this.name=name; this.age=age; }//通过自定义构造函数来创建对象 Person.prototyp e.eat=function(){ console.log("我爱js"); }//通过原型来添加方法 var p1=new Person("小明",20); var p2=new Person("小红",30); console.

JS中构造函数与普通函数的区别及JS构造函数、原型和实例的关系

JS中构造函数与普通函数的区别: https://www.cnblogs.com/cindy79/p/7245566.html JS构造函数.原型和实例的关系: https://blog.csdn.net/u012443286/article/details/78823955 JavaScript构造函数及原型对象: https://blog.csdn.net/a153375250/article/details/51083245 原文地址:https://www.cnblogs.com/jim

Js中的对象、构造函数、原型、原型链及继承

1.对象 在传统的面向过程的程序设计中,会造成函数或变量的冗余.而JS中对象的目的是将所有的具有相同属性或行为的代码整合到一起,形成一个集合,这样就会方便我们管理,例如: var person1={    name:"tan",    age:26,    showMessage:function(){        alert("name:"+this.name);    }};person.showMessage();//输出name:tan 以上的例子将nam

JS中面向对象的,对象理解、构造函数、原型、原型链

6.1 理解对象 6.1.1 对象属性类型 ECMS属性有两种类型:数据属性和访问器属性 1 数据属性 [[configurable]] 表示能否通过Delete 删除属性从而从新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性.对象上定义的属性默认值为true [[enumerable]] 表示能否通过for-in循环返回属性.直接在对象上定义的属性,它们的这个特性默认值为true [[writable]] 表示能否修改属性值.像前面例子中那样直接在对象上定义的属性,它们默认值为t

JS高级——Function原型链

基本概念 1.函数可以通过Function new出来,那么Function可以被称作构造函数,被new出来的函数可以被称为一个对象 2.Function既然是构造函数,那么肯定也有原型,它的原型是一个空的函数 3.Function的原型对象的原型对象最终指向的是object.prototype 原型链图 由上面基本概念衍生出的原型链图 1.Person构造函数,它既然是函数,那么肯定可以通过Function创建出来,那么就可以被当作对象 2.P对象还是函数对象,最后指向的都是object.pr