什么是对象

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

对象具有特性和行为

面向对象和基于对象

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

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

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

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

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

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

new Object()

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

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

调用构造函数 new Object();

  1. function Student(name, age, sex, score) {
  2. this.name = name;
  3. this.age = age;
  4. this.sex = sex;
  5. this.score = score;
  6. //对象的方法
  7. this.sayHi = function () {
  8. console.log("大家好,我是" + this.name);
  9. }
  10. }

this

  • 谁调用,this 就是谁

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

javascript_14-对象的更多相关文章

  1. 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

    阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...

  2. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  3. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  4. Asp.Net WebApi核心对象解析(下篇)

    在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑, ...

  5. JS核心系列:浅谈原型对象和原型链

    在Javascript中,万物皆对象,但对象也有区别,大致可以分为两类,即:普通对象(Object)和函数对象(Function). 一般而言,通过new Function产生的对象是函数对象,其他对 ...

  6. Chrome出了个小bug:论如何在Chrome下劫持原生只读对象

    Chrome出了个小bug:论如何在Chrome下劫持原生只读对象 概述 众所周知,虽然JavaScript是个很灵活的语言,浏览器里很多原生的方法都可以随意覆盖或者重写,比如alert.但是为了保证 ...

  7. XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法

            在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...

  8. ASP.NET内置对象的总结

    1. Response对象可形象的称之为响应对象,用于将数据从服务器发送回浏览器. 实例源码:链接: http://pan.baidu.com/s/1dDCKQ8x 密码: ihq0  2. Requ ...

  9. ADO.NET对象的详解

    1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...

  10. 对Castle Windsor的Resolve方法的解析时new对象的探讨

    依赖注入框架Castle Windsor从容器里解析一个实例时(也就是调用Resolve方法),是通过调用待解析对象的构造函数new一个对象并返回,那么问题是:它是调用哪个构造函数呢? 无参的构造函数 ...

随机推荐

  1. 使用 Ninja 代替 make

    使用 Ninja 代替 make 摘自:https://www.jianshu.com/p/d118615c1943 22017.01.14 11:41:44字数 1408阅读 26336 前言 在传 ...

  2. 123457123456#1#----com.ppGame.BaoBaoiMiYu35--前拼后广--miyu_pp

    com.ppGame.BaoBaoiMiYu35--前拼后广--miyu_pp

  3. jenkins中点击增加云没反应

    问题:非容器版jenkins中无法增加云 分析: 之前在jenkins中找自带的Kubernetes 插件找不到,所以就下载Kubernetes 插件进行离线安装,明明显示安装成功了,仍然不能增加云, ...

  4. Eclipse JEE 2018.12R TUNA源直接下载地址

    下载地址:https://mirrors.tuna.tsinghua.edu.cn/eclipse/technology/epp/downloads/release/2018-12/R/eclipse ...

  5. LODOP打印表格错位的几种情况

    在网页设计中,表格经常用到百分比,表格在浏览器中展示,这个百分比是相对于浏览器的.还有div,各种浮动之类的相对位置,也有的用到百分比.而在LODOP打印中,百分比是相对于纸张的.LODOP中打印项的 ...

  6. AWS 身份及验证服务(四)

    IAM 概述 集中管理访问AWS资源的访问权限和用户身份认证 支持联合访问管理,支持LADP第三方服务 (Identity Provider) 是非区域相关的服务,全局有效 创建用户.组和角色以应用策 ...

  7. git 版本控制中回溯到某个历史版本

    1.git log 查看之前的版本号 2. git reset --hard 版本号 3.git push -f -u origin 分支 恢复上一个版本是: git reset --hard HEA ...

  8. 【Luogu P1345】[USACO5.4]奶牛的电信Telecowmunication

    Luogu P1345 很容易发现这题要求的是网络流中的最小割. 关于最小割,我们有最大流最小割定理:最小割的容量一定等于最大流的流量 但是这个定理是用于求最小割边,而题目要求我们求的是最小割点. 那 ...

  9. linux 源码安装JAVA jdk

    下载Linux环境下的jdk1.8,请去(官网)中下载jdk的安装文件: 由于我的Linux是64位的,因此我下载jdk-8u131-linux-x64.tar.gz. 下载之后 解压命令进行解压 1 ...

  10. SpringBoot集成ActiveMq消息队列实现即时和延迟处理

    原文链接:https://blog.csdn.net/My_harbor/article/details/81328727 一.安装ActiveMq 具体安装步骤:自己谷歌去 二.新建springbo ...