实习日志(4)

2021.07.26 星期一

        由于疫情,学校封校,禁止所有人外出,没有办法,不得不向公司请假,呆在宿舍里面。

        虽然没有去公司,但在宿舍同样需要继续去学习,去跟着原计划去学习。今天先把上星期没有做完的一个小案例给完成了,这其中学到了一些简单css样式的写法,还有过滤器的使用。之后边学习了javascript一些高阶函数的使用:filter map reduce,这些之前都已经自己学习过了,为了加深印象,我又听了教程里面对这些函数详细讲解的内容,所谓高阶函数其实就是就是返回一个函数,其中reduce是有两个参数,需要注意。之后学习了v-model在表单里面的使用,比如结合radio,select,checkbox,等,这些在上星期导师布置给我们的任务中都有学习接触,今天这次将v-model等这些原理给了解了一遍。

        后来又学习了堆排序,对于堆排序,我的理解是这样的:它是将数组写成一个完全的二叉树,这个二叉树保证了从上往下,从左往右按顺序排列,要获得这样的二叉树,就要先讲一个混乱的二叉树排成一个堆,所谓堆,就是保证该节点都要大于该子节点的值,可以在一个方法中利用递归来实现。排列好之后将这个堆的第一个节点和最后一个节点进行位置调换,此时最后一个节点是一个有序的堆了,再将0-(n-1)调用之前的那个方法,将他排列成堆,然后再将第一个和最后一个的值交换,以此类推。最终所得的便是有序的堆。

        这是堆排序的代码:https://plnkr.co/edit/59AcsdsLKuWeuCNl

2021.07.27 星期二

        今天早上继续跟着视频进度去学习, 我学东西其实习惯性的喜欢学两遍,就比如学框架,先看视频熟悉一下每一个知识点大概的内容,然后再去进行实战 自己写,或者对着别人的代码敲,毕竟基础没有很好,把基础掌握好了之后再去换一种学习方式。这样虽然时间花费的长了点,但我觉得可以掌握的更牢固点。

        先学习了v-model的一些修饰符,然后开始进入组件化方法的学习,组件化的有点就是便于管理,而且还可以提高代码的利用率,非常方便,其详细步骤是创组件,在这注册组件,最后使用,正常情况下是注册局部组件。父子组件就是在注册一个组件时使用另一个组件,使用的组件就是子组件。其语法糖可以将extend的内容放到components里面。template标签其实就是组件的内容抽离出来的写法,可以让代码更具可读性。组件里面的数据可以存放在每个单独的组件里,注意:数据必须是data函数,因为只有是data函数,组件里面的数据才互相不影响,因为每个组件都是互相独立的存在,返回一个函数就是给每一个实例创建一个独立的空间。 

        晚上先将时间复杂度看了一下,然后继续看排序算法。今晚将冒泡,选择,和昨天学习的堆排序,都依靠自己的理解写了一遍,并将每一行代码所表示的意思都进行了注释。

        明天计划继续学习框架,晚上将插入,对并,快速算法都依靠自己理解再写一遍,并进行注释,并且继续学习算法。

这是今天写的demo:https://plnkr.co/edit/xjWGwRKfKRW6Mr2p(都是对的,但在沙箱不能运行不知道是什么回事)

2021.07.28 星期三

        今天先跟着之前的进度去学习vue框架。首先学习了父子组件之间如何进行通信。一个Vue实例实际上就是一个父组件。父传子是通过一个props属性来进行的,值得注意的是,当传的是对象或者是数组时,defalut必须是一个函数。还有当想把属性写成驼峰标识的时候,要将绑其写成x-x形式,即把大写字母替换成-的形式。子传父是通过$event的形式来传递的。可以先在子组件里点击按钮,点击之后发射一个事件,之后在父组件里面接受这个事件。

        下午的时候南京的雨终于停了,由于好长时间闷在宿舍,有几个朋友喊我去打球,正好我心里也痒痒,便跟随过去一起打了,所以今天就没怎么学习,不过好长时间不运动,再去运动了一下真的非常舒服,打算明天继续学习进度。

2021.07.29 星期四

      今天先学习了父子通信之间的双向绑定,有一个需求,要求子组件可以显示父组件的值,并可以改变它,这样一个需求可以先通过props将值传给子组件,此时子组件可以显示值,之后再在子组件里面写一个方法,通过点击发射一个事件来改变父组件里面的值,其实就是先父传子之后再子传父(这个我觉得挺饶人的,还不是很明白,还需要再看一看)。

        接着学习了父组件访问组组件的方式。它是通过$children来访问的 但一般不这样使用,一般都使用的是$refs方式,它可以让父组件访问自己想访问的子组件。子组件访问父组件是通过$parent 和$root两种方式,但这两种用的都不是很多,所以大致了解一下就可以了。slot插槽是为了让使用者决定可以展示些什么。   slot里面可以传一个默认值,如果有特殊需要,可以在指定的地方写需要展示的东西。slot还可以用name进行命名,当需要改动的地方将对应的name写好,就可以改变需要展示的东西。

        晚上继续看了排序算法,今天将快速算法依靠自己的理解写了出来,并且都进行了注释,但自己写的时候,不能够排序成功,检查错误发现是“超出最大调用堆栈大小”,检查代码发现有一个地方出错,改正之后便可以正常排序。

        这是今天vue框架写的代码:https://plnkr.co/edit/zaRiunzsY2jVLk9M

        这是快速排序的代码:https://plnkr.co/edit/w7GHOU0FOHrpAlRT

2021.07.30 星期五

        今天先学习了vue框架里面的作用域,所谓作用域,即就是父组件的内容都是在父组件里面编译,子组件的内容在子组件里面编译。父组件想访问子组件的作用域,并且改变我们想要的东西,可以现在子组件绑定子组件里面的值,然后用slot-scope 传递给父组件里面,便可以完成访问。

        接着接触模块化开发。没有模块发开发会导致有些变量重名时候出现的种种问题。之后了解了模块化一开始的用法和commonJS的用法。ES6语法中的模块化是通过export和import来写的。A需要用到模块B的东西,即可以在模块B中export,在A中import。每个模块里面都可以有一个export default,这个的意思是不需要给他命名,使用它时,可以任意给他命名。import * as xxx 是将所有的变量都导入到一个模块里面。之后又接触了webpack。webpack就是一个处理模块化和打包的一个工具。

        晚上继续学习排序算法,今晚将递归和插入排序都依靠自己的理解写了一遍。总结时间复杂度为n²的都没有用到递归,都是简单的进行多次遍历,从而得到最终排序的结果,而时间复杂度为nlogn,都采用递归的思想,将一个数组分成n个小数组,从而来进行排列,这样大大减少了排序所花费的时间,快速排序中,要注意选取中间点的位置恰当,而且我觉得最复杂的还是快速排序,日后还需要多注意注意。

        这是几个排序算法的代码:https://plnkr.co/edit/Oor0cgGfw6UYexM9

        这是今天写的vue框架里面的一些小练习:https://plnkr.co/edit/ILb9B0SASeIpSjZ5?preview

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值