javascript-原生-面向对象
1.javascript面向对象程序设计
概述:javascript不想其他面向对象编程语言那样有类的概念,javascript没有类(构造函数)的概念,只有对象的概念。
2.理解javascript中对象的概念
什么是对象?收音机、学生、手机
什么是面向对象?
使用对象的时候只关注对象提供的功能,而不关注其内部实现的细节。
面向对象编程是一种通用的思想,并非只有编程才用,任何事情都可以使用。
3.面向对象编程(oop)的特点
抽象:从现实应用中抓住事物的重点。
封装:不考虑内部实现,只考虑提供的功能
继承:从已有的对象继承出新对象
--多重继承
--多态
对象的组成:
属性--变量(静态特性)
方法--函数(动态行为)
json对象
json是一种轻量级的数据交换格式,javascript对象的一个子集。
属性名:字符串
属性值:包含字符串、数值、布尔值、函数、数组、对象、null等
javascript对象和json字符串的关系:
-json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。
--对象:对象在js中表示为{}括起来的内容,数据结构为{key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,多以很容易理解,取值方法为对象.key获取属性值,这个属性值得类型可以是数字、字符串、数组、对象几种。
-数组:数组在js中是中括号[]括起来的内容,数据结构为["java","javascript","vb",...],取值方式和所有的语言中一样,使用索引获取,字段值的类型可以是数字、字符串、对象、数组。
经过对象、数组两种结构就可以组合成复杂的json数据结构了。
json特点:
-json是纯文本
-json具有“自我描述性”
-json具有层级结构
-json可以通过javascript进行解析
-json数据可以使用ajax进行传输
对象的继承
属性继承call
--说明:call应用
function A(){
alert(this);
}
A.call(12);//改变函数调用时的对象。
2.
function A(){
this.abc="aaaa";//工厂模式添加属性
}
A.prototype.fn=function(){//原型模式添加方法
alert(this.abc);
}
function B(){
A.call(this);//this相当于B对象,继承父类的属性
}
for(car i in A.prototype){
B.prptotype[i]=A.prototype[i];//继承父类的方法
}
var obj=new B();
obj.fn();
javascript-原生-面向对象的更多相关文章
- jQuery? 回归JavaScript原生API
如今技术日新月异,各类框架库也是层次不穷.即便当年漫山红遍的JQuery(让开发者write less, do more,So Perfect!!)如今也有被替代的大势.但JS原生API写法依旧:并且 ...
- JavaScript 的面向对象
一.JS 模块包装格式都用过哪些,CommonJS.AMD.CMD.定义一个JS 模块代码,最精简的格式是怎样. js模块化开发的起源. CommonJs原来是叫ServerJs,从名字可以看出是专攻 ...
- JavaScript的面向对象编程(OOP)(一)——类
在学习JavaScript面向对象的编程之前,需要知道,并了解面向对象的一些基本的常识.初学者中大多数都以为面向对象中,面向对象的编程是很重要和占据很大一部分精力.笔者在之前也是认为OOP是面向对象的 ...
- 据说每个大牛、小牛都应该有自己的库——JavaScript原生对象拓展
在据说每个大牛.小牛都应该有自己的库——框架篇中我扬言要做个小牛,没想到一天没更新,小伙儿伴们就戏谑的问我,油哥是不是要太监了?其实事情是这个样子的,这不是太监的节奏,一是,关于写个自己的库的想法由来 ...
- JavaScript原生折叠扩展收缩菜单带缓冲动画
JavaScript原生折叠扩展收缩菜单带缓冲动画 @落雨 <div id="div_two" style="display: none;"> &l ...
- javascript进阶——面向对象特性
面向对象的javascript是这门语言被设计出来时就考虑的问题,熟悉OOP编程的概念后,学习不同的语言都会发现不同语言的实现是不同的,javascript的面向对象特性与其他具有面向对象特性的语言的 ...
- [转] 有趣的JavaScript原生数组函数
在JavaScript中,可以通过两种方式创建数组,Array构造函数和 [] 便捷方式, 其中后者为首选方法.数组对象继承自Object.prototype,对数组执行typeof操作符返回‘obj ...
- JavaScript原生数组函数
有趣的JavaScript原生数组函数 在JavaScript中,可以通过两种方式创建数组,构造函数和数组直接量, 其中后者为首选方法.数组对象继承自Object.prototype,对数组执行typ ...
- JavaScript原生对象拓展
JavaScript原生对象拓展 在据说每个大牛.小牛都应该有自己的库——框架篇中我扬言要做个小牛,没想到一天没更新,小伙儿伴们就戏谑的问我,油哥是不是要太监了?其实事情是这个样子的,这不是太监的节奏 ...
- JavaScript原生Array常用方法
JavaScript原生Array常用方法 在入门Vue时, 列表渲染一节中提到数组的变异方法, 其中包括push(), pop(), shift(), unshift(), splice(), so ...
随机推荐
- Pytest系列(19)- 我们需要掌握的allure特性
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 前面我们介绍了allure的 ...
- 恶意软件开发——突破SESSION 0 隔离的远线程注入
一.前言 在Windows XP,Windows Server 2003以及更早的版本中,第一个登录的用户以及Windows的所有服务都运行在Session 0上,这样的做法导致用户使用的应用程序可能 ...
- JAVA反序列化的简单探究
JAVA反序列化的简单探究 本文主要是探究,在反序列化过程中是怎么调用到readObject.readResolve.readExternal方法的问题 新建一个需要被序列化的类ObjectA,写入r ...
- (9)java Spring Cloud+Spring boot+mybatis企业快速开发架构之SpringCloud-搭建Eureka服务注册中心
首先创建一个 Maven 项目,取名为 eureka-server,在 pom.xml 中配置 Eureka 的依赖信息,代码如下所示. <!-- Spring Boot --> &l ...
- go 1.14上怎么下载第三方包
终端 go env -w GO111MODULE=on GOPATH-->src/pkg/bin in src源码包中 某个包中 go mod init XXX(表示当前报的第三方依赖) 然 ...
- 一文搞懂如何使用Node.js进行TCP网络通信
摘要: 网络是通信互联的基础,Node.js提供了net.http.dgram等模块,分别用来实现TCP.HTTP.UDP的通信,本文主要对使用Node.js的TCP通信部份进行实践记录. 本文分享自 ...
- java.lang.SecurityException: MODE_WORLD_READABLE错误解决
问题描述:运行Android项目有以下报错: 解决方法: 把 MODE_WORLD_READABLE 更换成 MODE_PRIVATE 即可,因为MODE_WORLD_READABLE 模式已经被废弃 ...
- Docker安装flink及避坑指南
Docker安装flink 导航 无处不在的大数据 安装flink 拉取flink镜像 编写docker-compose.yml 生成启动 查看安装效果 常见坑及解决方案 问题1 问题2 参考 本 ...
- Java基础系列(22)- For循环详解
For循环 虽然所有循环结构都可以用while和dowhile表示,但是Java提供了另外一种语句for循环,使一些循环结构变动更加简单 for循环语句是支持迭代的一种通用结构,是最有效.最灵活的循环 ...
- Shell系列(8)- 变量与变量分类(1)
变量命名规则 开头为字符或下划线,名字中间中能有字母.数字和下划线组成; 变量的长度不超过255个字符; 变量名在有效的范围内必须是唯一的; 如再次定义则会替换上一个变量的值 在Bash中,变量的默认 ...