首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

面向对象之类成员,嵌套

] [静态字段通过类访问],在使用上可以看出普通字段和静态字段归属是不同,其在内容存储方式也不一样,静态字段在内存中只保存一份,普通字段在每个对象中都要保存一份   上面我们看到两种字段都是公有字段...二丶方法   方法包括普通方法丶静态方法和类方法,三种方法在内存中都归属于类,区别在于调用方式不同 1.普通方法:由对象调用,至少一个self参数,执行普通方法时,自动将调用该方法对象赋值给self...调用直接用 类名.方法名(参数) 调用 class Foo: def __init__(self,name): self.name = name #静态方法,如果方法无需使用对象中封装值...@property def start(self): return 1 obj = Foo() print(obj.start) #无需加括号,直接调用  四丶面向对象嵌套...  两个类中变量互相建立关系就叫嵌套 class School: def __init__(self,name): self.name = name obj = School

1.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

JavaScript】内置对象 - Date 日期对象 ② ( 日期格式化 | 获取年 - getFullYear | 获取月 - getMonth | 获取每月第几天 - getDate )

一、日期格式化 1、获取年 - getFullYear 调用 Date.prototype.getFullYear() 方法 可以获取指定日期年份 ; Date 是 JavaScript 内置对象..., 用于处理日期和时间 ; prototype 是 JavaScript 中 每一个对象都有一个 prototype 属性 , 该属性 是 指向原型对象指针 , 原型对象 包含可以由特定类型所有实例共享属性和方法...; 获取是一个 0 ~ 11 之间数值 , 0 表示 1 月 , 11 表示 12 月 ; 参考 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript...() 获取 指定日期对象 是一个月中哪一天 , 返回值取值范围 1 ~ 31 ; 参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript...()); 6、完整代码示例 代码示例 : <!

9610

python-函数对象、函数嵌套、名称

函数对象 python中一切皆对象 函数对象四大功能 引用 def f1(): print('from f1') f1() #调用函数 print(f1) print('*'*50)...def f1(): print('from f1') l = [1,2,3,f1] l[3]() from f1 函数嵌套 函数嵌套定义 函数内部定义函数,无法在函数外部使用内部定义函数...函数嵌套调用 from math import pi def circle(r,action): if action == 'p': def perimeter():...作用域关系在函数定义阶段就已经确定好了 函数与函数之间可能会有相同名字变量,但是这个两个变量毫无关系,作用域不同 全局作用域 适用于全局+内置,即全局可以修改内置,内置也可以修改全局 局部作用域...只适用于局部范围,在局部定义名字只能在局部获取 x =100 def f1(): x =1 print(x) # 定义阶段 f1() 1 global 局部修改全局 (了解,面试常用

2.3K20

javascript三目运算符嵌套

大家好,又见面了,我是你们朋友全栈君。 普通三目运算符比较简单,就不做介绍了,如(expr1)?(expr2):(expr3),之前在使用三目运算符嵌套时候,我是这样用(expr1)?...(expr4):(expr5))),现在想想这种方法有点low,那三目运算符如何嵌套呢? 第一种嵌套情况 false?'true':true?'t':'f' 输出t false?'...t':'f' 输出f 第二种嵌套情况 true?true?'a':'b':'c' 输出a true?false?'a':'b':'c' 输出b false?false?'...a':'b':'c' 输出c 总的来看,三目运算符嵌套写法,使得代码可读性差,简单业务场景下可以试着使用,如果是较复杂场景,还是老老实实使用if/else吧,虽然代码量大了,但是有语义化,且逻辑清晰

1.2K10

JavaScript对象

对象 JavaScript对象,Object,可以简单理解成“名称 - 值”对(而不是键值对:现在,ES 2015 映射表(Map),比对象更接近键值对),不难联想 JavaScript对象与下面这些概念类似...正因为 JavaScript一切(除了核心类型,core object)都是对象,所以 JavaScript 程序必然与大量散列表查找操作有着千丝万缕联系,而散列表擅长正是高速查找。...“名称”部分是一个 JavaScript 字符串,“值”部分可以是任何 JavaScript 数据类型——包括对象。这使用户可以根据具体需求,创建出相当复杂数据结构。...有两种简单方法可以创建一个空对象: var obj = new Object(); 和: var obj = {}; 这两种方法在语义上是相同。...第二种更方便方法叫作“对象字面量(object literal)”法。这种也是 JSON 格式核心语法,一般我们优先选择第二种方法。

2.4K20

JavaScript——对象属性

JavaScript中,所有的对象都是一组属性集合,属性可以是数值,字符串等原始类型,也可以是函数,或者是其他对象。 属性类型 JavaScript属性有两种类型:数据属性和访问器属性。...属性特性 ES5开始,JavaScript为属性提供了三个特性用于描述其各种特征。特性是内部值,不能直接访问。...里对象属性是以键/值对形式存在,这里「键」不限于字符串类型,也可以是数值或其他对象。...事实上,JavaScript数组(Array),本质上也是一个键/值对集合,数值类型自然索引也是作为属性名(键)存在。...() 获取属性定义信息 属性访问相关 Object.keys() 获取对象所有属性名,仅限于可枚举自身属性 Object.getOwnPropertyNames() 获取对象所有属性名,包括可枚举和不可枚举

2.4K30

JavaScript对象继承

JavaScript 对象继承 1. 原型链继承 基于原型链,即把一个对象原型设置为另一个对象实例,那么这个对象实例也就拥有了另一个对象属性。...```JavaScript s instanceof Son _//true_ s instanceof Father _//true_ _```_ 子类也可以继续添加其他方法,但是需要注意,子类添加方法代码要写在替换原型代码之后...借用构造函数 使用父类实例设置为子类原型,也就意味着父类属性变成了子类原型上共享属性了。我们在之前将面向对象时,说过,对象属性最好定义在构造函数中,需要共享引用类型属性再定义在原型上。...当继承对象不是自定义类型和构造函数情况下,可以采用寄生继承模式。 5. 寄生组合式继承 组合继承模式是最常用模式,但也不是完美的。组合继承会执行两次父类构造函数。...ES6 中类继承 在 es6 中,有了 class(JavaScript class 只是一种语法糖,覆盖在基于构造函数和原型模式上),我们就可以使用 extends 来实现类继承了: class

69120

面向对象JavaScript

什么是对象,面向对象(Object-Orented,OO)抽象 从前在Javascript王国里有一个国王,他觉得世界上最美妙声音就是鸭子叫声,于是国王召集大臣,要组建一个1000只鸭子组成合唱团...它们同样“都是动物”并且可以发出叫声,但根据主人主指令,它们会发出不同叫声。 同一操作作用于不同对象,结果不同。JavaScript多态实际上是吧做什么和谁去做区分开了。...比如在javascript中抽象定义"马"这个概念,然后定义“马”应该有名字,有颜色..(属性),还有可以做事情——比如奔跑…(方法)。...prototype——混合模式 prototype:原型 javascript中,只要是函数,都有一个隐藏prototype属性。它指向一个对象,这个对象包含了所有实例都可以使用对象和方法。...(); 换句话说,原型模式是给一类(严格来说javascript没有类)对象添加方法。

73010

JavaScript——对象原型

如机制和原理(对象基于原型)里所记述那样,JavaScript是一个基于原型面向对象语言。本文着重于对原型实现机制进行剖析和说明。...原型链实现 JavaScript里所有的对象都有一个名为__proto__属性,这个属性里面存放就是对象所参照原型对象引用。 ?...原型自动设置 当通过构造函数创建新对象时,JavaScript会自动将构造函数prototype属性值设置到新对象__proto__属性里。...var tom = new Person("Tom"); 上面创建Person对象代码与下面的程序逻辑是等价,事实上JavaScript也是这样执行。...__proto__ = Person.prototype; tom = Person.call(tom,"Tom"); 属性继承 当访问对象属性时,JavaScript会通过遍历原型链进行查找,直到找到给定名称属性为止

57310

JavaScript对象引用

toobug圈圈图 创建对象{test:1},并将该对象在内存引用地址,传递给a变量,a变量值是对象{test:1}引用。 复制a值给变量b,也就是,b也获得了对象{test:1}引用。...对b.test重新赋值为2,由于b是{test:1}引用,实则是{test:1}这个对象test属性值变更为2。 嗯,这个坑,估计一个不小心就会踩到。...Demo.2 var a = {test: 1}; var b = a; b = {test: 2}; console.log(a.test) 嗯,别被惯性思维给坑了,这里b变量,被赋值了两次,两次都是不同对象...嗯,刚才被实例化对象,没有了外部引用之后,GC可以开始干活鸟。 再赋值一次,一个新对象又被实例化了。 结语: 感谢好导师TooBug,基础讲解生动活泼。...一个作用域内部函数,return并且被外部对象给引用之后,函数本身居然给实例化了,其内部私有变量也给持久性保存了。除非引用断掉,否则GC都无法回收。

95300

Javascript对象拷贝

正文共:1628 字 预计阅读时间:6分钟 ---- 翻译:疯狂技术宅 原文:https://smalldata.tech/blog/2018/11/01/copying-objects-in-javascript...Javascript 对象只是指向内存中某个位置指针。这些指针是可变,也就是说,它们可以重新被赋值。所以仅仅复制这个指针,其结果是有两个指针指向内存中同一个地址。...通过上面的例子可以看到,对象 foo 和 bar 都能随着对方变化而变化。所以在拷贝 Javascript对象时,要根据实际情况做一些考虑。...如果对象属性也是对象,那么实际被拷贝只是那些指针,这跟执行 var bar = foo; 效果是一样,和第一段代码中做法一样。...结论 Javascript 中最好对象拷贝算法,很大程度上取决于其使用环境,以及你需要拷贝对象类型。

48920

JavaScript】内置对象 - 数组对象 ④ ( 索引方法 | 查找给定元素第一个索引 | 查找给定元素最后一个索引 | 索引方法案例 - 数组元素去重 )

Array 数组对象参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array...一、索引方法 1、查找给定元素第一个索引 - indexOf() 调用 Array 数组对象 indexOf() 方法 可以 查找给定元素第一个索引 , 语法如下 : indexOf(searchElement.../Web/JavaScript/Reference/Global_Objects/Array/indexOf 代码示例 : // 创建数组对象 let arr = [9,...() 调用 Array 数组对象 lastIndexOf() 方法 可以 查找给定元素最后一个索引 , 语法如下 : lastIndexOf(searchElement) lastIndexOf(...就是 在数组中 最后一个 被找到 指定元素 索引位置 , 如果没有找到返回 -1 ; 参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript

6910

JS获取事件对象获取事件对象(Firefox,IE)

做笔记,以防自己忘记~~ JS获取事件event,不同浏览器有不同做法。 例如IE下,在js函数中,通过window.event就可以获取,不必在函数中添加什么参数。...注意获取标记都以大写表示,如"TD","TR","A"等。所以把看过一些抄下来,不记得时候再来看看。...    function tdclick(){        if(event.srcElement.tagName.toLowerCase...在 ie中处理事件直接使用window.event对象即可,但在firefox中,是没有 window.event对象,函数需要使用事件时候,需要在事件发生时把事件作为参数传递给函数,不象在ie...中,事件对象是全局,随处都可以访 问.下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象函数开始调用getEvent()即可,不用再把事件作为 参数传递.以下代码已经实验通过

10K50
领券