对象—构造函数

编程范式(方式)

命令式编程

如: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 。
  • 值传递:原始数据类型,传递的是值;引用数据类型,传递的是同一对象的内存地址 。
  • 引用数据类型,变量声明赋值位置不同影响控制台输出结果。

转载于:https://www.cnblogs.com/llying/p/7528783.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值