javascript_14-对象
什么是对象
生活中的对象,一个车、一个手机
对象具有特性和行为
面向对象和基于对象
面向对象:可以创建自定义的类型、很好的支持继承和多态。面向对象的语言有 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();// 一样的效果
javascript_14-对象的更多相关文章
- 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑
阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...
- javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
- Asp.Net WebApi核心对象解析(下篇)
在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑, ...
- JS核心系列:浅谈原型对象和原型链
在Javascript中,万物皆对象,但对象也有区别,大致可以分为两类,即:普通对象(Object)和函数对象(Function). 一般而言,通过new Function产生的对象是函数对象,其他对 ...
- Chrome出了个小bug:论如何在Chrome下劫持原生只读对象
Chrome出了个小bug:论如何在Chrome下劫持原生只读对象 概述 众所周知,虽然JavaScript是个很灵活的语言,浏览器里很多原生的方法都可以随意覆盖或者重写,比如alert.但是为了保证 ...
- XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法
在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...
- ASP.NET内置对象的总结
1. Response对象可形象的称之为响应对象,用于将数据从服务器发送回浏览器. 实例源码:链接: http://pan.baidu.com/s/1dDCKQ8x 密码: ihq0 2. Requ ...
- ADO.NET对象的详解
1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...
- 对Castle Windsor的Resolve方法的解析时new对象的探讨
依赖注入框架Castle Windsor从容器里解析一个实例时(也就是调用Resolve方法),是通过调用待解析对象的构造函数new一个对象并返回,那么问题是:它是调用哪个构造函数呢? 无参的构造函数 ...
随机推荐
- 详细介绍Oracle数据库的聚簇技术
作者:☜ Tracy ☞ 1. 什么是聚簇 d1=A=: 聚簇是根据码值找到数据的物理存储位置,从而达到快速检索数据的目的.聚簇索引的顺序就是数据的物理存储顺序,叶节点就是数据节点.非聚簇索引的顺序与 ...
- 【435】NULL '\0' 0 等在 C 语言中的区别
参考:C/C++语言中NULL.'\0’和0的区别 参考:空字符串.'\0'.0与NULL的区别以及数组清零的特点分析 在 C语言 中没有 空字符 这个东西 '',不过有 空字符串 "&qu ...
- Python数据处理pdf (中文版带书签)、原书代码、数据集
Python数据处理 前言 xiii第1 章 Python 简介 11.1 为什么选择Python 41.2 开始使用Python 41.2.1 Python 版本选择 51.2.2 安装Python ...
- typescript那些事儿
本篇文章介绍typescript那些. ts-loader会调用typescript去编译.ts,typescript会读取tsconfig.json配置来决定如何编译. 在tsx文件中使用样式,需要 ...
- 十篇TED点击率最高演讲,带你重新认识大数据与人工智能
我们通常过于专注于机器学习算法的实现,倾向于忽略这种技术本身的一些重要问题:如未来的应用和政治后果.在这篇文章中,我们从非常受欢迎的非营利组织TED上收集了一系列的视频(并非关注于选择什么语言或算法来 ...
- Head First Design Patterns HeadFirst 设计模式
OO原则是我们的目标,而设计模式是我们的做法. 策略模式 (Strategy) 在软件开发上,一直不变的真理是"change".不管软件设计的多好,一段时间之后,总是要成长与改变, ...
- HDU 4352:XHXJ's LIS
题目:(原题是英文而且很迷) 求区间内数的LIS长度==k的个数,比如153948的LIS为1 3 4 8,长度为4.据说这种题叫DP中DP,本来是线性,再套一层状压+数位,简直厉害到不行…… 线性的 ...
- linux ubuntu 网卡配置---固定IP
需要修改/etc/network/interfaces和/etc/resolvconf/resolv.conf.d/base两个文件. 1) /etc/network/interfaces文件: 首先 ...
- linux tar包追加问题
只能已归档的文件才能追加文件. 如果tar.gz文件是如此生成:#tar -zcvf test.tar.gz a.txt即tar.gz是压缩(-z)和归档(-c)文件,则无法给它追加文件:若果tar ...
- Jenkins+maven+gitlab自动化部署之Jenkins部署(三)
本章开始正式搭建Jenkins: 公司现在使用的jenkins版本是2.150.3,但是本次实验安装的版本我们选择最新的 2.164.3(当然,当你阅读这篇文章时,此版本已经不是最新),jenkins ...