对象—构造函数

编程范式(方式)

命令式编程

如:JS、Java

  • 过程化
  • 对象化: 对象,一组属性的集合;类,对对象的描述;JS没有类 对象 → 原型 → object → null(源)

声明式编程

如:HTML、CSS、SQL

  • DSL领域的特定语言
  • 函数式编程

JS支持命令式、函数式编程,包容性强,有各类写法,不纯粹。

对象

字面量对象

let object={
    name:‘vivi‘,
    age:20,
    gender:‘女‘,
    show: function(){
         console.log(‘hi,我是‘+this.name);
    }

}
console.log(obj.name);      // 输出: vivi
obj.show();                          hi,我是vivi

语法糖:创建对象的快捷方式

JSON :JavaScript Object Notation (JS 对象 表示法)

  • 方便存储、传输数据;
  • 现不局限于JS,数据传输标准格式,属性必须是字符串

构造函数

注:首字母大写

let Student=function(name,age,gender){
    this.name=name,
    this.age=age,
    this.gender=gender,
    this.show=function(){
          console.log(‘hi,我是‘+this.name);

    }

}
let stu1=new Student(‘vivi‘, 22,‘女‘)
let stu2=new Student(‘Jack‘, 26,‘男‘)
console.log(stu1==stu2);             // 输出: false
stu1.show();                                  hi,我是vivi
stu2.show();                                  hi,我是Jack

构造函数 + 原型

let Student=function(name,age,gender){
    this.name=name;
    this.age=age;
    this.gender=gender;
}
Student.prototype.show=function(){
    console.log(‘hi,我是‘+this.name);
}
let stu1=new Student(‘vivi‘, 22,‘女‘)
let stu2=new Student(‘Jack‘, 26,‘男‘)
stu1.show();                 // 输出: hi,我是vivi
stu2.show();                          hi,我是Jack

构造函数 不等于 原型

总结

  • 使用prototype构造函数时,在对象外
  • 声明时只有原型首字母大写(例:let Student),其他均小写;构造函数 (例:Student.prototype)不等于原型,若相等,输出false 。
  • 值传递:原始数据类型,传递的是值;引用数据类型,传递的是同一对象的内存地址 。
  • 引用数据类型,变量声明赋值位置不同影响控制台输出结果。
时间: 2024-10-12 19:15:02

对象—构造函数的相关文章

类(对象)的定义 自定义对象构造函数

对象创建和继承 对象创建指的是自定义对象构造函数,用于批量创建拥有共同属性方法的对象.例如创建一个人对象构造函数,然后实例化出小明,小红 继承指的是两个引用类型对象间属性和方法的继承,原理是利用prototype,因为实例内部保留了对构造函数prototype的指针,prototype保留对该构造函数的指针.所以如果把构造函数的prototype指向另一个对象类型实例的话,那么也就继承了该实例对构造函数prototype的指针以及它对构造函数的指针. 1.最古老的工厂模式,就是在里面新建对象,然

39.C#--面对对象构造函数及构造函数继承使用

//一.新建Person类namespace _39.面对对象构造函数及构造函数继承使用{public class Person{//字段.属性.方法.构造函数//字段:存储数据//属性:保护字段,对字段的取值和设值进行限定//方法:描述对象的行为//构造函数:初始化对象(给对象的每个属性依次的赋值)//类中的成员,如果不加访问修饰符,默认都是privateprivate string _name; //字段public string Name //属性{get { return _name;

【译】Vue源码学习(一):Vue对象构造函数

本系列文章详细深入Vue.js的源代码,以此来说明JavaScript的基本概念,尝试将这些概念分解到JavaScript初学者可以理解的水平.有关本系列的一些后续的计划和轨迹的更多信息,请参阅此文章.有关本系列的文章更新进度的信息,请关注我的Tweeter.本系列的文章目录,请查看该链接. Vue对象构造函数 Vue实例是深入了解Vue源代码的一个基本点.正如Vue官方文档所说那样,"每个Vue应用程序都是通过使用Vue函数创建一个新的Vue实例来开始的." 在Vue的源码中,一个新

js工厂函数创建对象与对象构造函数的理解

工厂函数,顾名思义,就是通过一个"工厂的加工" 来创建一个函数 //工厂函数 function createPerson(name,sex){ sex = sex == '男' ? '女' : sex // '加工' return { name:name, sex:sex }; } var p =createPerson('张三','男'); 这种操作在需要创建多个相似对象时可以有效地减少重复代码,但是这样有个缺点就是,每次调用工厂函数创建的对象都是独立的object,不存在继承关系,显然,这样

MDN——javascript——入门——第三章对象——对象.构造函数.原型链.继承——知识点总结

对象Object 由属性property(变量).方法method(函数)组成 var objectName = { member1Name : member1Value, member2Name : member2Value, member3Name : member3Value } member(成员)的值是任意的, 一个如上所示的对象被称之为对象的字面量(literal)——手动的写出对象的内容来创建一个对象.不同于从类实例化一个对象,我们会在后面学习这种方式. 访问对象成员 1.点表示法

对象构造函数的原型图

对象的定义其实很广泛,万物皆为对象,我们创建对象一般都是用构造函数来创建的,这里我们来说说构造函数创建对象的原型图把. 这个问题有点抽象,举个例子来说,方便一点: 这是我们构造函数,这里我们要结合一张 图来说明就更清楚了,这里我们就用一个实例p1好了,其他两个就不用了. 这是构造函数和实例的初始关系,person就是这个构造函数,它里面其实有个属性叫prototype,prototype属性的值也是个对象,而这个对象其实就是称作构造函数的原型对象.到这里那上面那张图里应该要多谢东西了: 这个原型

PHP类与对象,构造函数和析构函数,加上this绑定详解

一.类与对象 不仅在PHP中,在所有面向对象程序设计语言中,类都是抽象的,对象是类的一个实例.所有抽象就是:"抽取出相像的". 在生活中,人是一个类,抽出相像的是:人都有五官,头发,手脚,会吃饭睡觉等等. 看一下PHP中的类与对象代码的实现 <?php class Person{ //定义一个叫Person的类 public $name; //声明共有的属性:名字 public function say(){ //声明共有的方法:说话 echo 'saying'; } } ?&g

浅析JS原型对象&amp;实例对象&amp;构造函数(转)

浅析原型对象,实例对象,构造函数的关系 原文地址:JS面向对象-原型对象,实例对象,构造函数的关系(http://blog.csdn.net/u014205965/article/details/45798861) 因为最根上的object拥有一个prototype属性,而js中所有的对象又都继承自object,所以js中所有的对象都拥有一个prototype属性,而在js中函数也是对象,所以js中每个函数也都有一个prototype属性. 例如:function Person(){...} 和

js中最重要的是:原型对象 普通对象和函数对象 构造函数

1.var lists=[{name:"jiali",age:28},{name:"jia",age:30},{name:"ki",age:30}]; var listCopy=JSON.parse(JSON.stringify(lists)); listsCopy[1]="aaa"; listsCopy;//索引1变了{name:"aaa",age:30} lists// 2.var arr=[{x:1,