JavaScript面向对象编程学习笔记

1  Javascript 面向对象编程

所谓"构造函数",其实就是一个普通函数,但是内部使用了this变量。对构造函数使用new运算符,就能生成实例,并且this变量会绑定在实例对象上。

自动含有一个constructor属性,指向它们的构造函数。

Javascript还提供了一个instanceof运算符,验证原型对象与实例对象之间的关系。

Javascript规定,每一个构造函数都有一个prototype属性,指向另一个对象。这个对象的所有属性和方法,都会被构造函数的实例继承。

这意味着,我们可以把那些不变的属性和方法,直接定义在prototype对象上。

每个实例对象都有一个hasOwnProperty()方法,用来判断某一个属性到底是本地属性,还是继承自prototype对象的属性。

in运算符可以用来判断,某个实例是否含有某个属性,不管是不是本地属性。

阮一峰的文章总是最通俗易懂的~

Javascript的this用法

它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用

this指的是,调用函数的那个对象。

情况一 纯粹的函数调用

  这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。

情况二 作为对象方法调用

  函数还可以作为某个对象的方法调用,这时this就指这个上级对象。

情况三 作为构造函数调用

  所谓构造函数,就是通过这个函数生成一个新对象(object)。这时,this就指这个新对象。

情况四 apply调用

  apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。因此,this指的就是这第一个参数。

Javascript中this关键字详解

4深入浅出 JavaScript 中的 this

时间: 2024-10-21 13:15:08

JavaScript面向对象编程学习笔记的相关文章

PyTorch框架+Python 3面向对象编程学习笔记

一.CNN情感分类中的面向对象部分 sparse.py 1 super(Embedding, self).__init__() 表示需要父类初始化,即要运行父类的_init_(),如果没有这个,则要自定义初始化 1 self.weight = Parameter(torch.Tensor(num_embeddings, embedding_dim)) Parameter跳转 1 class Parameter(Variable): 2 """A kind of Variabl

《Python核心编程》 面向对象编程学习笔记

1. 1. 引言 1. 类与实例 可以定义一个本身没有任何属性的类,而仅把它用做数据的名字空间,这样的类仅作为容器对象来共享名字空间. 示例如下: class MyData(object): pass 下面创建它的实例,它只使用类作为名称空间容器. >>> mathObj = MyData() >>> mathObj.x = 4 >>> mathObj.y = 5 >>> mathObj.x + mathObj.y 9 >>

javascript高级编程学习笔记(二)

写读书笔记的好处在于加深记忆,前一篇总结了编程中创建的对象的几种方式,以及常用的方式,这一篇总结实现继承的方式: 1.对象冒充: function ClassA(sColor) { this.color = sColor; this.sayColor = function () { alert(this.color); }; } function ClassB(sColor, sName) { this.newMethod = ClassA; this.newMethod(sColor); de

JavaScript高级编程(学习笔记)

一 内存分配 1,栈:由计算机管理,先进后出,快但不自由  堆:由程序员控制,自由 2,引用类型存于堆,值类型存于声明它的地方 二 垃圾回收 1,找出不再使用的变量(堆内存中,没有栈内存指向它),然后释放掉其占用的内存,但是这个过程不是时时的,因为其开销比较大,所以垃圾回收器会按照固定的时间间隔周期性的执行. 2,离开作用域标记可删,大部分浏览器都是使用这种方式进行垃圾回收,区别在于如何标记及垃圾回收间隔而已 3,JavaScript对象通过标记清除的方式进行垃圾回收,但非JavaScript原

JavaScript DOM编程 学习笔记

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> //整个HTML文档加载完成之后出发window.onload事件,事件出发后执行function函数体 window.onlo

JavaScript DOM编程 学习笔记-获取元素节点

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> window.onload = function() { //在编写html文档时需要确定id属性值是唯一的 //该方法为doc

javaScript面向对象编程指南笔记

变量声明: var v1,v2 = 'hello',v3=42; javascript中的数据类型分两部分:基本类型(数字,字符串,布尔值,undefined,null)和对象类型. - 查看变量类型操作符 typeof 变量或数值 - 当一个数字以0开头时,就表示这是一个八进制数.0377 代表十进制数255  :0x前缀的是十六进制数 - Infinity  任何超出了javascript的数,除以0结果也是Infinity - 字符串用于算术运算时,会被当做数字类型使用.字符串 -> 数字

JavaScript DOM编程 学习笔记-节点属性

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> //关于节点的属性:nodeType  nodeName  nodeValue //在HTML文档中,任何一个节点都有这三个属性

JavaScript DOM编程 学习笔记-创建并接入节点

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> //新创建一个元素节点,并把该节点添加为文档中指定节点的子节点 window.onload = function() { //创