名之以父_社区达人页

个人头像照片
名之以父
已加入开发者社区736

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

已发布65篇文章
1条评论
已回答1个问题
0条评论
已发布0个视频
github地址

粉丝 更多

技术能力

兴趣领域
擅长领域
技术认证

暂时未有相关云产品技术能力~

前端开发攻城狮 &&大二学生

暂无精选文章
暂无更多信息

2023年06月

  • 06.02 17:07:16
    发表了文章 2023-06-02 17:07:16

    【Python】16_匿名函数

    使用 lambda 关键字定义的函数就是匿名函数 lambda 参数列表:表达式 1、无参数无返回值 def 函数名():   函数代码 lambda:函数代码 2、无参数有返回值 def 函数名():     return 1 + 2 lambda: 1 + 2 3、有参数无返回值 def 函数名(a, b):   print(a, b)       lambda a, b: print(a, b) 4、有参数有返回值 def 函数名(a, b):   return a +

2023年03月

  • 03.22 13:02:28
    发表了文章 2023-03-22 13:02:28

    【Python】15_初学函数

    ​ 一、函数 1、两种输出的小数位控制 # num = 10 # # # def anum(): # num = 20 # print(num) # # # anum() num = 3.14 print("%.3f" % num) # f"{变量:.nf}" print(f"{num:.3f}") # 3.140 num1 = 1 # 00000001 print('%6d' % num1) print('%06d' % num1) # 000001 print(f'{num1:06d}') # 000001 2、递归 (1)求和

2023年02月

  • 02.13 15:52:52
    发表了文章 2023-02-13 15:52:52

    【Python】14_类型的可变与不可变

    ​  3、类型的可变与不可变 # int float bool str list tuple dict # 不可变类型: int float bool str tuple # 可变类型: list dict # num = 10 # num = 20 # # my_list = [1, 2] # my_list.append(3) a = 1000 b = 1000 print(id(a), id(b)) # python中的内存优化,对于不可变类型进行的, print(id(a) == id(b)) a = 'hello' b = 'hello' print(id(a),
  • 02.13 15:51:46
    发表了文章 2023-02-13 15:51:46

    【Python】13_列表的引用

    ​ 二、拆包 1、组包与拆包 # 组包,将多个数据值,组成元组,给到一个变量 a = 1, 2, 3 print(a) # (1, 2, 3) def func(): return 1, 2 # 组包 # 拆包:将容器的数据分别给到多个变量,需要注意:数据的个数和变量的个数要保持一致 b, c, d = a # 拆包 把a的值分别给了b,c,d print(b,c,d) e,f = func() print(e,f) # 1 2 my_list = [10,20] a,b = my_list print(a, b) # 10 20 my_dict = {'n
  • 02.13 15:50:31
    发表了文章 2023-02-13 15:50:31

    【Python】12_函数传参的四类参数

    ​ 一、函数传参的四类参数 1、位置传参与关键字传参 def func(a, b, c): print(f'a:{a}') print(f'b:{b}') print(f'c:{c}') # 位置传参 func(1,2,3) # func(3,1,2) # 关键字传参 func(a=10, b=20, c=30) # func(c=10, a=20, b=30) # 混合使用, 先写位置传参,再写关键字传参 '''先写没等号的,再写有等号的,有等号的要在后边''' func(10, b=20, c=30) # func(a=10, 20, 30) #
  • 02.13 15:48:52
    发表了文章 2023-02-13 15:48:52

    【Python】11_函数的应用

    ​ 8、函数的嵌套作用 def func1(): print('func1 start ... ') print('函数的其他代码') print('func1 end ...') def func2(): print('func2 start ....') func1() # 函数调用 print('func2 end....') # 调用func1() # func1() # 调用func2() func2() ''' func2 start .... func1 start ... 函数的其他代码 func1 end ...
  • 02.13 15:44:55
    发表了文章 2023-02-13 15:44:55

    【Python】10_局部变量&全局变量 + 函数的返回值

    ​ 4、局部变量 def func(): # 定义局部变量 num = 100 print(num) def func1(): # 定义局部变量 num = 200 # 两个num是没有任何关系的 print(num) # 函数调用 func() func1() # 探究:局部变量能否在函数外部使用 # print(num) # 代码报错,局部变量不能在函数外部访问 5、全局变量 (globe) globe方法:可以让局部变量在全局变量中使用,放在修改之前,(类似定义) globe 变量名 # 定义全局变量
  • 02.13 15:43:33
    发表了文章 2023-02-13 15:43:33

    【Python】9_函数与enumerate

    ​ 二、enumerate 自动生成一个整体 ,把列表的下标和元素值作为一个元组整体 my_list = ['a', 'b', 'c', 'd', 'e'] for i in my_list : print(i) ''' a b c d e ''' for i in my_list : print(my_list.index(i), i) # 得到的是下标和数据值 ''' 0 a 1 b 2 c 3 d 4 e ''' # enumerate 将可迭代序列中的元素所在的下标和具体元素数据组合在一起,变成元组 for j in enumerate(my_list):
  • 02.13 15:42:18
    发表了文章 2023-02-13 15:42:18

    【Python】8_字典的增删改查

    ​ 一、字典 1、定义与访问 ''' 字典 dict 定义使用{} 定义,是由键值对组成(key_value) 变量 = {key1: value, key2: value2,...} 一个key:value 键值对是一个元素 字典中的key 可以是字符串类型和数字类型(int ,float) 不能是 列表类型的 value 值是可以存放任意类型的 ''' # 1、定义空字典 my_dict = {} my_dict1 = dict() print(my_dict) # {} print(my_dict1) # {} # 2、定义带数据的字典 my_dict2 = {'name':
  • 02.13 15:36:21
    发表了文章 2023-02-13 15:36:21

    【Python】7_元组与综合训练

    ​ 三、元组 my_list = [18, 3.14, True, 'isaac'] # 列表 my_tuple = (18, 3.14, True, 'isaac') # 元组 print(my_tuple, type(my_tuple )) # (18, 3.14, True, 'isaac') <class 'tuple'> # 元组支持下标和切片 print(my_tuple[1]) # 3.14 # 定义空元组,没有意义 my_tuple1 = () print(my_tuple1, type(my_tuple1 )) # () <class 'tup
  • 02.13 15:35:11
    发表了文章 2023-02-13 15:35:11

    【Python】6_列表与方法

    ​ 二、列表 1、定义 # 列表: 是Python中的一种数据类型,可以存放多个数据,列表中的数据可以是任意类型的 # 列表list ,定义使用[] 进行定义 # 定义空列表 my_list = [] my_list1 = list() print(my_list ,type(my_list)) # [] <class 'list'> print(my_list1 ,type(my_list1)) # [] <class 'list'> # 定义带数据的列表数据元素之间使用逗号隔开 my_list2 = [1, 3.24, True, "IT"] # 在计算中布尔表达式的true代表
  • 02.13 15:06:19
    发表了文章 2023-02-13 15:06:19

    【Python】5_字符串与相关方法

    ​ 一、字符串 1、定义 # 单引号 name = "isaac" print(type(name),name) # 双引号 name = "isaac" print(type(name),name) # 三引号 my_str = """hello world hello python! """ print(type(my_str),my_str) # <class 'str'> hello world # hello python! my_str = '''aaa b
  • 02.13 15:03:18
    发表了文章 2023-02-13 15:03:18

    【Python】4_运算符

    ​ 九、运算符 可以在控制台进行运算   算术运算符 + - * /  // 整除(求商) % 取余数 ** 指数,幂运算 () 可以改变优先级 赋值运算符 = 将等号右边的结果赋值给等号左边的变量 等号左边,必须是变量,不能是具体的数字 符合赋值运算符 = 将等号右边的结果赋值给等号左边的变量 等号左边,必须是变量,不能是具体的数字 比较运算符 逻辑运算符 与Java差距很大,Java用的是&& || 之类的,不想Python这样,直接字如其意的,方便。 ​ 九、运算符 可以在控制台进行运算   算术运算符 + - * /  // 整 ​
  • 02.13 14:47:43
    发表了文章 2023-02-13 14:47:43

    【Python】3_输入输出与类型转换

    六、输出 在Python中的输出使用print函数 # 基本输出 支持换行输出,将一行的字用两次print来输出,中间可以加东西。 而且Python提供了一种新的对变量输出的方法, 使用f和花括号。 age = 18 # 需求:输出 我的年龄是18岁 print("我的年龄是%d岁" % age) # 我的年龄是18岁 print(f"我的年龄是{age}岁") # 我的年龄是18岁 # 必须在前面有f(大小写都可以),这样才能用{} # Python3.6版本开始支持f-string,占位统一使用{}占位,填充的数据直接写在{}里面 print('输出') print(12)
  • 02.13 14:47:08
    发表了文章 2023-02-13 14:47:08

    【Python】3_输入输出与类型转换

    ​ 六、输出 在Python中的输出使用print函数 # 基本输出 支持换行输出,将一行的字用两次print来输出,中间可以加东西。 而且Python提供了一种新的对变量输出的方法, 使用f和花括号。 age = 18 # 需求:输出 我的年龄是18岁 print("我的年龄是%d岁" % age) # 我的年龄是18岁 print(f"我的年龄是{age}岁") # 我的年龄是18岁 # 必须在前面有f(大小写都可以),这样才能用{} # Python3.6版本开始支持f-string,占位统一使用{}占位,填充的数据直接写在{}里面 print('输出') print(12
  • 02.13 14:45:53
    发表了文章 2023-02-13 14:45:53

    【Python】2_入门Python必要的常识

    ​ Life is short , you need Python! 人生苦短,我用Python!😜😝 一、在书写上, 1、Python不需要“;”做结尾 2、在输出语句中,可以用单引号也可以用双引号 print('hello world') 二、注释 单行注释是: # # 单行注释 ''' 多行注释 ''' """ 多行注释 """ 在注释方面,Python对空格有着很多的要求。 在单行注释上,需要在#号后面空一格,再书写内容。否则会有下划波浪线(但不影响程序的运行) 在多行注释中,需要三个单引号或三个双引号 并且注释都需要有下一行(就是保证注释的内容不在最后一行)
  • 02.13 14:43:41
    发表了文章 2023-02-13 14:43:41

    【Python】1_Java与Python比较 再探 &&/and Python入门(循环判断if,elif,else,while,for和循环else(for-else)

    ​ 一、输出 height = 170.5 # 默认本来是几位,就显示几位 print(F"我的身高是{height}cm") # 我的身高是170.5cm # 指定小数位 2位小数 print(F"我的身高是{height:.2f}cm") # 我的身高是170.50cm # 指定小数位 3位小数 print(F"我的身高是{height:.3f}cm") # 我的身高是170.500cm 可以控制小数的位数,与Java不同,Java和c的float都只是单精度浮点数,而在Python中float代表的是小数。通过".2"的形式表示要有两位小数 name = "名之以
  • 02.13 14:41:57
    发表了文章 2023-02-13 14:41:57

    【JavaScript】48_包装类与垃圾回收机制

    # 10、包装类 在JS中,除了直接创建原始值外,也可以创建原始值的对象 通过 new String() 可以创建String类型的对象 通过 new Number() 可以创建Number类型的对象 通过 new Boolean() 可以创建Boolean类型的对象 - 但是千万不要这么做 包装类: ## JS中一共有5个包装类 String --> 字符串包装为String对象 Number --> 数值包装为Number对象 Boolean --> 布尔值包装为Boolean对象 BigInt --> 大整数包装为BigInt对象 Symbol --> 符号包装为
  • 02.13 14:40:51
    发表了文章 2023-02-13 14:40:51

    【JavaScript】47_Date对象 ,日期的格式化

    # 8、Date Date - 在JS中所有的和时间相关的数据都由Date对象来表示 - 对象的方法: getFullYear() 获取4位年份 getMonth() 返当前日期的月份(0-11) getDate() 返回当前是几日 getDay() 返回当前日期是周几(0-6) 0表示周日 ...... ## getTime() 返回当前日期对象的时间戳 时间戳:自1970年1月1日0时0分0秒到当前时间所经历的毫秒数 计算机底层存储时间时,使用都是时间戳 Date.now() 获取当前的时间戳 ``` <s
  • 02.13 14:37:42
    发表了文章 2023-02-13 14:37:42

    【JavaScript】46_对象的序列化——JSON

    # 3、对象的序列化 对象的序列化 - JS中的对象使用时都是存在于计算机的内存中的 - 序列化指将对象转换为一个可以存储的格式 **在JS中对象的序列化通常是一个对象转换为字符串(JSON字符串)** - 序列化的用途(对象转换为字符串有什么用): - 对象转换为字符串后,可以将字符串在不同的语言之间进行传递 甚至人可以直接对字符串进行读写操作,使得JS对象可以不同的语言之间传递 - 用途: 1. 作为数据交换的格式 2. 用来编写配置文字 - 如何进行序列化:
  • 02.13 14:36:08
    发表了文章 2023-02-13 14:36:08

    【JavaScript】45_结构对象与对象的解构

    # 1、解构对象 数组中可以存储任意类型的数据,也可以存数组, 如果一个数组中的元素还是数组,则这个数组我们就称为是二维数组 解构对象,方便两数交换数值;可以反向赋值对象,数组 可以在解构的同时,进行声明 ```html <script> const arr = ["孙悟空", "猪八戒", "沙和尚"] let a, b, c // a = arr[0] // b = arr[1] // c = arr[2] ; [a,b,
  • 02.13 14:34:08
    发表了文章 2023-02-13 14:34:08

    【JavaScript】44_bind函数

    # 20、bind函数 根据函数调用方式的不同,this的值也不同: 1. 以函数形式调用,this是window 2. 以方法形式调用,this是调用方法的对象 3. 构造函数中,this是新建的对象 4. 箭头函数没有自己的this,由外层作用域决定 5. 通过call和apply调用的函数,它们的第一个参数就是函数的this 6. 通过bind返回的函数,this由bind第一个参数决定(无法修改) bind() 是函数的方法,可以用来创建一个新的函数 - bind可以为新函数绑定this - bind可以为新函数绑定参数 箭头函数没有自身的this,它的this由外层作用域
  • 02.13 14:33:18
    发表了文章 2023-02-13 14:33:18

    【JavaScript】43_可变参数

    # 19、可变参数 ## arguments - arguments是函数中又一个隐含参数 - arguments是一个类数组对象(伪数组) 和数组相似,**可以通过索引来读取元素**,也可以通过for循环变量,但是它不是一个数组对象,不能调用数组的方法 - arguments用来存储函数的实参, 无论用户是否定义形参,实参都会存储到arguments对象中 可以通过该对象直接访问实参 ```html <script> function fn(){ console.log(arguments[2])//读取
  • 02.13 14:32:42
    发表了文章 2023-02-13 14:32:42

    【JavaScript】42_数组的方法

    # 18、数组的方法 ## sort() - sort用来对数组进行排序(会对改变原数组) - sort默认会将数组升序排列 注意:sort默认会按照Unicode编码进行排序,所以如果直接通过sort对数字进行排序 可能会得到一个不正确的结果 - 参数: - 可以传递一个回调函数作为参数,通过回调函数来指定排序规则 (a, b) => a - b 升序排列 (a, b) => b - a 降序排列 ## forEach() - 用来遍历数组 - 它需要一个回调函数作为参数,这个回调函数会被调用多次 数组中有几个元素,回调函数就会调用几次 每次调
  • 02.13 14:24:38
    发表了文章 2023-02-13 14:24:38

    【JavaScript】41_递归

    # 17、递归 递归 - 调用自身的函数称为递归函数 - 递归的作用和循环是基本一直 递归的核心思想就是将一个大的问题拆分为一个一个小的问题,小的问题解决了,大的问题也就解决了 编写递归函数, ## 一定要包含两个要件: 1.基线条件 —— 递归的终止条件 2.递归条件 —— 如何对问题进行拆分 递归的作用和循环是一致的,不同点在于,递归思路的比较清晰简洁,循环的执行性能比较好 在开发中,一般的问题都可以通过循环解决,也是尽量去使用循环,少用递归 只在一些使用循环解决比较麻烦的场景下,才使用递归 ```html <script> /
  • 02.13 14:23:58
    发表了文章 2023-02-13 14:23:58

    【JavaScript】40_函数闭包

    # 15、函数 创建一个函数,第一次调用时打印1,第二次调用打印2,以此类推 可以利用函数,来隐藏不希望被外部访问到的变量 ## 闭包: 闭包就是能访问到外部函数作用域中变量的函数 什么时候使用: 当我们需要隐藏一些不希望被别人访问的内容时就可以使用闭包 构成闭包的要件: 1. 函数的嵌套 2. 内部函数要引用外部函数中的变量 3. 内部函数要作为返回值返回 ```html <script> // let num = 0 // function fn(){ // num++ /
  • 02.13 14:23:17
    发表了文章 2023-02-13 14:23:17

    【JavaScript】39_高阶函数(回调函数)

    目前我们的函数只能过滤出数组中age属性小于18的对象, 我们希望过滤更加灵活: 比如:过滤数组中age大于18的对象 age大于60的对象 age大于n的对象 过滤数组中name为xxx的对象 过滤数组中的偶数 ... **一个函数的参数也可以是函数,** 如果将函数作为参数传递,那么我们就称这个函数为**回调函数**(callback) ```html <script> class Person { constructor(name,age){ this.name = name;
  • 02.13 14:22:24
    发表了文章 2023-02-13 14:22:24

    【JavaScript】38_冒泡排序及优化 与 选择排序

    # 11、排序 思路一: ## 冒泡排序 9, 1, 3, 2, 8, 0, 5, 7, 6, 4 - 比较相邻的两个元素,然后根据大小来决定是否交换它们的位置 - 例子: 第一次排序:1, 3, 2, 8, 0, 5, 7, 6, 4, 9 第二次排序:1, 2, 3, 0, 5, 7, 6, 4, 8, 9 第三次排序:1, 2, 0, 3, 5, 6, 4, 7, 8, 9 ... 倒数第二次 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 - 这种排序方式,被称为冒泡排序,冒泡排序是最慢的排序方式, 数字少还可以凑合用,不适用于数据量较大的
  • 02.13 14:21:41
    发表了文章 2023-02-13 14:21:41

    【JavaScript】37_数组去重

    ## 方法一、 改变原数组 ```html <script> const arr = [1,2,1,3,2,2,4,5,5,6,7] //分别获取数组中的元素 for(let i = 0; i < arr.length ; i++){ //获取当前值后边的所有值 for(let j = i + 1; i < arr.length; j++){ //判断两个数是否相等 if(arr[i] === arr[j]){
  • 02.13 14:21:00
    发表了文章 2023-02-13 14:21:00

    【JavaScript】36_数组的常用方法

    # 9、数组的方法 ## push() - 向数组的末尾添加一个或多个元素,并返回新的长度 pop() - 删除并返回数组的最后一个元素 ## unshift() - 向数组的开头添加一个或多个元素,并返回新的长度 ## shift() - 删除并返回数组的第一个元素 ## splice() - 可以删除、插入、替换数组中的元素 - 参数: 1. 删除的起始位置 2. 删除的数量 3. 要插入的元素 - 返回值: - 返回被删除的元素 ## reverse() - 反转数组 ```html <script> let arr =
  • 02.13 14:20:21
    发表了文章 2023-02-13 14:20:21

    【JavaScript】35_浅拷贝和深拷贝 + 对象的复制

    # 7、浅拷贝和深拷贝 ## 浅拷贝(shallow copy) - 通常对对象的拷贝都是浅拷贝 - 浅拷贝顾名思义,只对对象的浅层进行复制(只复制一层) - 如果对象中存储的数据是原始值,那么拷贝的深浅是不重要 - 浅拷贝只会对对象本身进行复制,不会复制对象中的属性(或元素) ## 深拷贝(deep copy) - 深拷贝指不仅复制对象本身,还复制对象中的属性和元素 - 因为性能问题,通常情况不太使用深拷贝 ```html <script> //创建一个数组 const arr = [{name:'孙悟空'},{name:'猪八戒'}]
  • 02.13 14:19:08
    发表了文章 2023-02-13 14:19:08

    【JavaScript】34_对象的复制与数组的复制

    # 5、对象的复制 ## indexOf() - 获取元素在数组中第一次出现的索引 - 参数: 1. 要查询的元素 2. 查询的起始位置 ## lastIndexOf() - 获取元素在数组中最后一次出现的位置 - 返回值: 找到了则返回元素的索引, 没有找到返回-1 ## join
  • 02.13 14:18:25
    发表了文章 2023-02-13 14:18:25

    【JavaScript】33_数组的方法

    # 4、数组的方法 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array ## Array.isArray() - 用来检查一个对象是否是数组 ## at() - 可以根据索引获取数组中的指定元素 - at可以接收负索引作为参数 ## concat() - 用来连接两个或多个数组 - 非破坏性方法,不会影响原数组,而是返回一个新的数组 ```html <script> console.log(Array.isArray({nam
  • 02.13 14:16:28
    发表了文章 2023-02-13 14:16:28

    【JavaScript】32_数组初步

    # 1、简介 数组(Array) - 数组也是一种复合数据类型,在数组可以存储多个不同类型的数据 - 数组中存储的是有序的数据,数组中的每个数据都有一个唯一的索引 可以通过索引来操作获取数据 - 数组中存储的数据叫做元素 - 索引(index)是一组大于0的整数 - 创建数组 通过Array()来创建数组,也可以通过[]来创建数组 - 向数组中添加元素 语法: 数组[索引] = 元素 - 读取数组中的元素 语法: 数组[索引] - 如果读取了一个不存在的元素,不好报错而是返回undefined - length - 获取数组的长
  • 02.12 18:12:23
    发表了文章 2023-02-12 18:12:23

    【JavaScript】31_旧类与new运算符

    ## 14、旧类 早期JS中,直接通过函数来定义类 - 一个函数如果直接调用 xxx() 那么这个函数就是一个普通函数 - 一个函数如果通过new调用 new xxx() 那么这个函数就是一个够早函数 - ​ 等价于: ​ class Person{ ​ } ```html <script> var Person = (function () { function Person (name,age){ //在构造函数中,this表示新建的对象
  • 02.12 12:00:20
    发表了文章 2023-02-12 12:00:20

    【JavaScript】30_修改原型

    ## 12、修改原型 **大部分情况下,我们是不需要修改原型对象** 注意: **千万不要通过类的实例去修改原型** 1. 通过一个对象影响所有同类对象,这么做不合适 2. 修改原型先得创建实例,麻烦 3. 危险 处理通过__proto__能访问对象的原型外, 还可以通过类的prototype属性,来访问实例的原型 修改原型时,最好通过通过类去修改 好处: 1. 一修改就是修改所有实例的原型 2. 无需创建实例即可完成对类的修改 原则: 1. 原型尽量不要手动改 2. 要改也不要通过实例对象去改 3. 通过 类.prototype 属性去修改 4. 最好
  • 02.12 11:59:23
    发表了文章 2023-02-12 11:59:23

    【JavaScript】29_原型对象

    # 11、原型对象 访问一个对象的原型对象 对象.__proto__ Object.getPrototypeOf(对象) 原型对象中的数据: 1. 对象中的数据(属性、方法等) 2. constructor (对象的构造函数) 注意: 原型对象也有原型,这样就构成了一条原型链,根据对象的复杂程度不同,原型链的长度也不同 p对象的原型链:p对象 --> 原型 --> 原型 --> null obj对象的原型链:obj对象 --> 原型 --> null 原型链: - 读取对象属性时,会优先对象自身属性, 如果对象中有,则使用,没有则去对象的原型中寻找 如果原型中有,则使用,没
  • 02.12 11:57:59
    发表了文章 2023-02-12 11:57:59

    【JavaScript】28_对象的结构

    # 9、对象的结构 对象中存储属性的区域实际有两个: 1. 对象自身 - 直接通过对象所添加的属性,位于对象自身中 - 在类中通过 x = y 的形式添加的属性,位于对象自身中 2. 原型对象(prototype) - 对象中还有一些内容,会存储到其他的对象里(原型对象) - 在对象中会有一个属性用来存储原型对象,这个属性叫做__proto__ - 原型对象也负责为对象存储属性, 当我们访问对象中的属性时,会优先访问对象自身的属性, 对象自身不包含该属性时,才
  • 02.12 11:55:31
    发表了文章 2023-02-12 11:55:31

    【JavaScript】27_多态

    # 7、多态 定义一个函数,这个函数将接收一个对象作为参数,他可以输出hello并打印对象的name属性 多态 - 在JS中不会检查参数的类型,所以这就意味着任何数据都可以作为参数传递 - 要调用某个函数,无需指定的类型,只要对象满足某些条件即可 - 如果一个东西走路像鸭子,叫起来像鸭子,那么它就是鸭子 - 多态为我们提供了灵活性 ```html <script> class Person{ constructor(name){ this.name = name }
  • 02.12 11:54:51
    发表了文章 2023-02-12 11:54:51

    【JavaScript】26_面向对象——继承

    # 8、继承 - 可以通过extends关键来完成继承 时,就相当于将另一个类中的代码复制到了当前类中(简单理解) - 继承发生时,被继承的类称为 父类(超类),继承的类称为 子类 的代码,并且可以在不修改一个类的前提对其进行扩展 ​ 封装 —— 安全性 ​ 继承 —— 扩展性 ​ 多态 —— 灵活性 ```html <script> class Animal{ constructor(name){ this.n
  • 02.12 11:53:47
    发表了文章 2023-02-12 11:53:47

    【JavaScript】25_面向对象——封装

    # 6、封装 面向对象的特点: 封装、继承和多态 1.封装 - 对象就是一个用来存储不同属性的容器 - 对象不仅存储属性,还要负责数据的安全 - 直接添加到对象中的属性,并不安全,因为它们可以被任意的修改 - 如何确保数据的安全: 1.私有化数据 - 将需要保护的数据设置为私有,只能在类内部使用 2.提供setter和getter方法来开放对数据的操作 - 属性设置私有,通过getter setter方法操作属性带来的好处 1. 可以控制属性的读写权限 2. 可以在方法中对属性的值进行验证 - 封装主要用来保证数据的安全 - 实现封装的方式
  • 02.12 11:51:54
    发表了文章 2023-02-12 11:51:54

    【JavaScript】24_面向对象中的方法和构造函数

    # 4、方法 ```html <script> class Person{ name = "孙悟空" // sayHello = function(){ // } // 添加方法的一种方式 sayHello(){ console.log('大家好,我是' + this.name) } // 添加方法(实例方法) 实例方法中this就是当前实例 static test
  • 02.12 11:50:40
    发表了文章 2023-02-12 11:50:40

    【JavaScript】23_类与属性

    # 2、类 使用Object创建对象的问题: 1. 无法区分出不同类型的对象 2. 不方便批量创建对象 在JS中可以通过类(class)来解决这个问题: 1. 类是对象模板,可以将对象中的属性和方法直接定义在类中 定义后,就可以直接通过类来创建对象 2. 通过同一个类创建的对象,我们称为同类对象 可以使用instanceof来检查一个对象是否是由某个类创建 如果某个对象是由某个类所创建,则我们称该对象是这个类的实例 语法: class 类名 {} // 类名要使用大驼峰命名 const 类名 = class {} 通过类创建对象 new 类() ```htm
  • 02.12 11:44:47
    发表了文章 2023-02-12 11:44:47

    【JavaScript】22_ 面向对象

    # 1、面向对象 面向对象编程(OOP) 1. 程序是干嘛的? - 程序就是对现实世界的抽象(照片就是对人的抽象) 2. 对象是干嘛的? - 一个事物抽象到程序中后就变成了对象 - 在程序的世界中,一切皆对象 3. 面向对象的编程 - 面向对象的编程指,程序中的所有操作都是通过对象来完成 - 做任何事情之前都需要先找到它的对象,然后通过对象来完成各种操作 - 一个事物通常由两部分组成:数据和功能 - 一个对象由两部分组成:属性和方法 - 事物的数据到了对象中,体现为属性 - 事物的功能到了对象中,体现为方法 ```
  • 02.12 11:39:24
    发表了文章 2023-02-12 11:39:24

    【JavaScript】21_debug,立即执行函数 与 严格模式

    # 14、debug ```html <script> //debugger // 在代码中打了一个断点 console.log(a) // 2 var a = 1 console.log(a) // 1 function a() { alert(2) } console.log(a) // 1 var a = 3
  • 02.11 15:08:17
    发表了文章 2023-02-11 15:08:17

    【JavaScript】20_JS提升

    # 13、提升 ## 变量var的提升 ​ \- 使用var声明的变量,它会在所有代码执行前被声明 ​ 所以我们可以在变量声明前就访问变量(不推荐,不好维护) ## 函数的提升 ​ \- 使用函数声明创建的函数,会在其他代码执行前被创建 ​ 所以我们可以在函数声明前调用函数 ## let的提升不显示 ​ **let声明的变量实际也会提升,但是在赋值之前解释器禁止对该变量的访问** ```html <script>
  • 02.11 15:07:21
    发表了文章 2023-02-11 15:07:21

    【JavaScript】19_window对象

    # 12、window对象 Window对象 - 在浏览器中,浏览器为我们提供了一个window对象,可以直接访问 - window对象代表的是浏览器窗口,通过该对象可以对浏览器窗口进行各种操作 除此之外window对象还负责存储JS中的内置对象和浏览器的宿主对象 - window对象的属性可以通过window对象访问,也可以直接访问 - 函数就可以认为是window对象的方法 **向window对象中添加的属性会自动成为全局变量** var 用来声明变量,作用和let相同,但是var不具有块作用域 - **在全局中使用var声明的变量,都会作为window对象的属性保存*
  • 02.11 15:06:00
    发表了文章 2023-02-11 15:06:00

    【JavaScript】18_函数的作用域与作用域链

    # 9、作用域 ​ 作用域(scope) - 作用域指的是一个变量的可见区域 - 作用域有两种: ## 全局作用域 - 全局作用域在网页运行时创建,在网页关闭时消耗 - 所有直接编写到script标签中的代码都位于全局作用域中 - 全局作用域中的变量是全局变量,可以在任意位置访问 ## 局部作用域 - 块作用域 - 块作用域是一种局部作用域 - 块作用域在代码块执行时创建,代码块执行完毕它就销毁 - 在块作用域中声明的变量是局部变量,只能在块内部访问,外部无法访问 ```html <script> let a = "变量a" {
  • 02.11 15:04:51
    发表了文章 2023-02-11 15:04:51

    【JavaScript】17_函数的返回值

    # 7、函数的返回值 在函数中,可以通过return关键字来指定函数的返回值 返回值就是函数的执行结果,函数调用完毕返回值便会作为结果返回 任何值都可以作为返回值使用(包括对象和函数之类) 如果return后不跟任何值,则相当于返回undefined 如果不写return,那么函数的返回值依然是undefined return一执行函数立即结束 ```html <script> function sum(a, b) { // console.log(a + b)
  • 02.11 14:42:28
    发表了文章 2023-02-11 14:42:28

    【JavaScript】16_函数参数与箭头函数的参数

    # 3、参数 ## 形式参数 - 在定义函数时,可以在函数中指定数量不等的形式参数(形参) - 在函数中定义形参,就相当于在函数内部声明了对应的变量但是没有赋值 ## 实际参数 - 在调用函数时,可以在函数的()传递数量不等的实参 - 实参会赋值给其对应的形参 - 参数: 1.如果实参和形参数量相同,则对应的实参赋值给对应的形参 2.如果
  • 发表了文章 2023-06-02

    【Python】16_匿名函数

  • 发表了文章 2023-03-22

    【Python】15_初学函数

  • 发表了文章 2023-02-13

    【Python】14_类型的可变与不可变

  • 发表了文章 2023-02-13

    【Python】13_列表的引用

  • 发表了文章 2023-02-13

    【Python】12_函数传参的四类参数

  • 发表了文章 2023-02-13

    【Python】11_函数的应用

  • 发表了文章 2023-02-13

    【Python】10_局部变量&全局变量 + 函数的返回值

  • 发表了文章 2023-02-13

    【Python】9_函数与enumerate

  • 发表了文章 2023-02-13

    【Python】8_字典的增删改查

  • 发表了文章 2023-02-13

    【Python】7_元组与综合训练

  • 发表了文章 2023-02-13

    【Python】6_列表与方法

  • 发表了文章 2023-02-13

    【Python】5_字符串与相关方法

  • 发表了文章 2023-02-13

    【Python】4_运算符

  • 发表了文章 2023-02-13

    【Python】3_输入输出与类型转换

  • 发表了文章 2023-02-13

    【Python】3_输入输出与类型转换

  • 发表了文章 2023-02-13

    【Python】2_入门Python必要的常识

  • 发表了文章 2023-02-13

    【Python】1_Java与Python比较 再探 &&/and Python入门(循环判断if,elif,else,while,for和循环else(for-else)

  • 发表了文章 2023-02-13

    【JavaScript】48_包装类与垃圾回收机制

  • 发表了文章 2023-02-13

    【JavaScript】47_Date对象 ,日期的格式化

  • 发表了文章 2023-02-13

    【JavaScript】46_对象的序列化——JSON

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2023-02-10

    问答最高荣誉,乘风问答官招募中!每周积分活动、每月排位赛等权益专享!

    我想成为乘风问答官
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息