什么是对象

生活中的对象,一个车、一个手机

对象具有特性和行为

面向对象和基于对象

面向对象:可以创建自定义的类型、很好的支持继承和多态。面向对象的语言有 c++ 、Java、 C# ...

  • 面向对象的特征:封装、继承、多态
  • 万物皆对象:世间的一切事物都可以用对象来描述

基于对象:无法创建自定义的类型、不能很好的支持继承和多态。基于对象的语言 JavaScrip t。

JavaScript中的对象 :无序属性的集合。(属性包括方法)####

  • 其属性可以包括基本值、对象或函数。对象就是一组没有顺序的的值。我们可以把JavaScript中的对象想象成键值对,其中值可以是数据和函数。

      // 1 内存开辟空间,存储新创建的对象
    // 2 会把this设置为当前对象
    // 执行函数内部的代码,设置对象的属性和方法
    // 4 返回新创建的对象
    var s1 = new Student("zs", 19, 1, 100);
    s1.sayHi(); console.log(s1.name);
    console.log(s1["name"]); // 对象:无序属性的集合,我可以把对象看成键值对。
    var o =new Object();
    o["name"] = "zs";
    console.log(o.name); for (let i = 0; i < 10;i++) {
    // 动态给对象增加属性
    o["n"+i] = i;
    }

new Object()

  • new 后面调用函数,我们称之为构造函数。
  • Object() 我们把它视为一个构造函数,构造函数的本质就是一个函数,只不过构造函数的目的是为了创建新对象,为新对象进行初始化(设置对象的属性)。

自定义构造函数 --- 构造函数:构造一个对象,并且返回的函数

调用构造函数 new Object();

    function Student(name, age, sex, score) {
this.name = name;
this.age = age;
this.sex = sex;
this.score = score;
//对象的方法
this.sayHi = function () {
console.log("大家好,我是" + this.name);
}
}

this

  • 谁调用,this 就是谁

      function test(){
    // 此时this是window,因为是window调用的此函数。
    console.log(this);
    }
    test();
    window.test();// 一样的效果

最新文章

  1. SQL语句中的where 1=1 和0=1
  2. Bool 类型变量的使用
  3. MYSQL 表级锁 行级锁 页面锁区别
  4. Factory Girl使用
  5. MetadataType的使用
  6. monkey与monkeyrunner的使用
  7. 提交App到Apple Store(Xcode4)
  8. Beta冲刺随笔集合
  9. 剑指Offer——Java实现栈和队列的互模拟操作
  10. Go:学习笔记兼吐槽(2)
  11. [Java] 为什么字符串比较不能用两个等号(==)
  12. 【测试工程师面试】 记录XX银行面试
  13. 软件测试1gkd
  14. 在.net core 中PetaPoco结合EntityFrameworkCore使用codefirst方法进行开发
  15. 如何让谷歌浏览器支持跨域访问(AJAX) AJAX调试跨域接口
  16. ServletContextListener使用详解(监听Tomcat启动、关闭)
  17. BugkuCTF SQL注入1
  18. 基于vue全家桶制作的移动端音乐WebApp
  19. wacher和acl
  20. mongo文本搜索的一个例子

热门文章

  1. Laya的位图文字
  2. centos7上安装mysql8(上)
  3. gen语言
  4. NETTY 心跳机制
  5. Swift4.0复习控制流语句
  6. 【Leetcode_easy】997. Find the Town Judge
  7. git 操作说明
  8. MySQL语句增加字段,修改字段名,修改类型,修改默认值
  9. cordon、drain、delete node区别
  10. OneNote中更改英文输入默认不是微软雅黑的问题