Javascript基本概念梳理
javascript里的数据类型:
原始类型:数字,字符串。布尔值。(原始值:null,undefined)
对象类型:键值对,数组,function,全局对象(MATH,JSON)
保留字:
abstract
boolean
byte
char
class
const
debugger
double
enum
export
extends
final
float
goto
implements
import
int
interface
long
native
package
private
protected
public
short
static
super
synchronized
throws
transient
volatile
包装对象的概念:
字符串"aaa".len 字符串并非对象。可是却能够调用它的属性。说明这仅仅是一个暂时对象。内部用new String()来创建的暂时的。
原始类型是永远不可变的,所以能够比較他们的值。可是对象类型是可变的。不能比較他们的值.
Javascript原型和继承:
Javascript里每一个对象都和另外一个对象关联,这个对象就是__proto__(原型对象)注意这里的原型对象并非prototype。
解释一下:这里的prototype指的是通过keywordnew和构造函数调用创建的对象的原型就是构造函数的prototype属性。
对象实例的__proto__指向这个对象的prototype。而对象的__proto__为空。
举个样例就是:
var array = new Array();
array.__proto__ === Array.prororype //true
Array.__proro //null当然。也能够使用Object.getPrototypeOf()替代__proto__来使用来得到对象所继承的原型。举例说明:
Object.getPrototypeOf(Array) === Array.__proto__;Object.getPrototypeOf()来查看原型继承,比如:
Object.getPrototypeOf(Array.prototype) // Object能够看出Array的prototype继承Object所以Array也有他的方法比如totring()等。
能够得到全部的对象都有一个共同的原型。就是Object可是Object仅仅是一个构造函数,想要訪问他,就仅仅用Object..prototype来得到。
比如。Object..getPrototypeOf()来查看自己定义的继承
function A(){};
function B(){};
A.prototype = new B();
Object.getPrototypeOf(A.prototype) //B
使用Object.create()实现继承:
Object.create()接受一个參数,为对象的prototype。事实上还有第二个參数用来描写叙述熟悉的特性,源代码是基于new ()从而赋值他的prototype来实现的
Object.create = function (o) { var F = function () {}; F.prototype = o; return new F(); }; var b=Object.create(a);
Object.create()能够创建对象。当然也能够创建对象的子对象,能够这样理解
var a = Object.create({a:1})那么a就有了一个熟悉a,这样就能够理解为继承了。假设是一个函数。比如Array是一个函数对象
var myArray = Object.create(Array.prototype)那个myArray也就具有了Array的全部方法
myArray.push
自己定义的函数
function Acc(){}
Acc.prototype.dd = 123;
var accc = Object.create(Acc.prototype)。
accc.dd //123未完!
Javascript基本概念梳理的更多相关文章
- [DOM Event Learning] Section 2 概念梳理 什么是事件 DOM Event
[DOM Event Learning] Section 2 概念梳理 什么是事件 DOM Event 事件 事件(Event)是用来通知代码,一些有趣的事情发生了. 每一个Event都会被一个E ...
- Javascript重要知识点梳理
Javascript重要知识点梳理 一.Javascript流程控制 js中常用的数据类型 var关键字的使用 if – else if – else switch while for 二.Javas ...
- JavaScript基本概念(二)
JavaScript 基本概念(二) 操作符和语句 目录 操作符 一元操作符 位操作符 布尔操作符 乘性操作符 其他操作符 语句部分 说起操作符,回忆下上一篇文章末尾说的话. 操作符 一元操作符 ++ ...
- 《JavaScript核心概念》基础部分重点摘录
注:<JavaScript核心概念>适合深入了解JavaScript,比我买的<JavaScript框架设计>语言和内容丰富多了(可能是我水平尚浅吧). 1. 作用域 var ...
- JavaScript的概念,引入,基本数据类型
08.05自我总结 JavaScript 一.概念 JavaScript(下文我们会用简称JS来代替)是脚本编程语言,JS语言开发的文件是以.js为后缀,通过在html文件中引入该js文件来控制htm ...
- JavaScript概念梳理
一.JavaScript 的奇葩命名史 1995 年,网景浏览器(Netscape Navigator)首次发布了一种运行于浏览器端的脚本语言,网景给这个新语言命名为 LiveScript.一年后,为 ...
- Javascript单例模式概念与实例
前言 和其他编程语言一样,Javascript同样拥有着很多种设计模式,比如单例模式.代理模式.观察者模式等,熟练运用Javascript的设计模式可以使我们的代码逻辑更加清晰,并且更加易于维护和重构 ...
- js-js实现,在HTML中使用JavaScript,基本概念
Js实现: 1.JavaScript实现的组成: 核心(ECMAScript):由ECMA-262定义,提供核心语言功能 文档对象模型(DOM)提供访问和操作网页内容的方法以及接口 浏览器对象模型(B ...
- 转:深入理解JavaScript闭包概念
闭包向来给包括JavaScript程序员在内的程序员以神秘,高深的感觉,事实上,闭包的概念在函数式编程语言中算不上是难以理解的知识.如果对作用域,函数为独立的对象这样的基本概念理解较好的话,理解闭包的 ...
随机推荐
- GPS坐标转化距离(短距离模型公式)
下面是C#计算方法: class Program { const double EARTH_RADIUS = 6378.137; static void Main(string[] args) { d ...
- Bitmap.createBitmap函数有6个重载方法
位图剪切参考重载方法4和6,重载方法6比较简单 public static Bitmap createBitmap (Bitmap src)从原位图src复制出一个新的位图,和原始位图相同 publi ...
- node.js 的介绍
1.node.js是什么? (1)node.js不是一门编程语言, 是一个开发平台,就像Java开发平台,Net平台,PHP开发平台,Apple开发平台.(何为开发平台?有对应的编程语言,有语言运行时 ...
- 简单的学生选课系统——基于Servlet+Ajax
以前挖的坑,早晚要往里掉.基础太薄弱,要恶补.在此程序前,我还对Servlet没有一个清晰的概念:一周时间写好此程序之后,对Servlet的理解清晰许多. 这周一直在恶补Spring,今天正好完成了S ...
- linux学习系列博客地址汇总
2018-09-28 16:03:43 CentOS7 yum命令:这是一个用来管理rpm包进行自动化安装的C/S模式的一个程序. CentOS7(无图形界面)支持中文显示的办法:系统安装好之后,有可 ...
- <Linux> 下安装和卸载JDK
安装 下载jdk https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 在local ...
- 对 Spring IoC 的理解
理解 “ 控制反转(IoC)” 控制反转(IoC):用白话来讲,就是由 Spring 容器控制程序中类与类之间的关系,而非传统实现中,由程序代码直接操控.这也就是所谓 “控制反转” 的概念所在:控制权 ...
- python第一章计算机基础
第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 操作系统用 ...
- stark组件之删除页面内容搭建(八)
删除页面没有太多的内容和功能 def del_view(self, request,pk,*args,**kwargs): """ 处理删除表弟 :param reque ...
- Spring Boot 2 (二):Spring Boot 2 尝鲜-动态 Banner
Spring Boot 2.0 提供了很多新特性,其中就有一个小彩蛋:动态 Banner,今天我们就先拿这个来尝尝鲜. 配置依赖 使用 Spring Boot 2.0 首先需要将项目依赖包替换为刚刚发 ...