- 博客(62)
- 收藏
- 关注
原创 npm创建文件不会捕获所处环境下的vue版本
解决方案删除原本项目中的node_modules输入npm install --save vue@next
2021-07-13 17:07:36
152
原创 javascript中的所有事物都是对象,字符串、数字、数组、日期等等,在javascript中,对象是拥有属性和方法的数据;对于typeof的使用会有些许无法分辨的地方
var obj = { key : value, 键 : 值, 属性: 属性值; }var car = { type:"Fiat", model:500, color:"white", money:undefined, newCar:false,}// 增加对象属性car.width = "1.6m";// 删除对象属性delete car.width;// 修改对象属性car.width = "1.5m";ty
2021-07-03 17:45:20
272
原创 关于float
设置了float的元素会脱离文档流,向左或向右移动,直到碰到父容器的边界或者再碰到另一个浮动元素。由于块级元素会忽略它,而文本和行内元素却会环绕它,所以float最开始是用来实现文字环绕效果的。...
2021-07-01 15:09:09
168
原创 给行内元素设置宽高不起作用,但是给行内元素设置margin、padding只有左右起作用
<div>div 1</div><span>span 1</span><span>span 2</span><div>div 2</div>div { width: 100px; height: 100px; text-align: center; background-color: #94E8FF;}span { background-color: #FFB
2021-07-01 15:00:29
428
原创 css响应式
媒体查询@mediamax-widthmin-width@media screen and (max-width: 900px){https://blog.youkuaiyun.com/huangbaokang/article/details/105711925
2021-03-25 11:24:59
139
原创 浏览器渲染机制及重排(reflow)和重绘详解(repaint)
一、浏览器的线程与进程浏览器的每一个网页都是一个单独的进程,使用进程来隔离不同的网页一个浏览器通常由以下几个常驻线程组成:1、GUI渲染线程(GUI渲染线程和JavaScript引擎线程是互斥的2、JavaScript引擎线程3、定时触发器线程4、事件触发线程5、异步http请求线程二、浏览器渲染流程1、构建DOM树2、构建构建CSSOM树3、根据DOM树和CSSOM树构建Render树4、Render树布局,生成各个计算好大小的盒模型,从左到右,从上到下5、Render树绘制三
2021-03-25 11:21:36
374
原创 同级组件之间数据传递方式
其实原理蛮简单的,整个过程就需要三步在main.js的同级目录下创建一个新的vue文件,并给它创建一个新的vue实例 import Vue from 'vue' export default new Vue()给传出数值的A组件使用$emit<template> <div @click="onfocus"></div></template><script> import New from '@/new.js'
2021-03-15 15:38:32
459
原创 Symbol 深入探究
Symbol:注册一个独一无二的字符有一个专门的Symbol注册表Symbol.for()创建的时候,会先看Symbol注册表里面有没有注册过这个字符,如果有,则不新注册而是返回之前注册的那个字符。Symbol不支持隐式转换了解以下前提:如果在公共作用域使用var声明一个变量,由于var变量提升的原理,那么该变量会变成window的一个属性let并非没有变量提升,而是变量提升以后,提升到当前的块级作用域,不会变成window的一个属性,并且在初始化之前禁止访问,这就是let的暂时性死区va
2021-03-04 23:02:56
317
1
原创 赛码输入规范
while((a = readInt()!==null)&&(b = readInt)!==null)a = readInt()//一个整数a = readDouble()//一个浮点数a = read_line()//读取一行字符,a[0]的值可以取到精度保留2位小数num = 2.446242342;num.toFixed(2)console.log(num)//2.45,会四舍五入num = Math.floor(num)console.log(num)//2,向
2021-03-03 19:18:46
726
1
原创 二叉搜索树的后序遍历序列
var verifyPostorder = function(postorder) { if(postorder.length<=1){ return true; } var rootVal = postorder[postorder.length-1]; var left = []; var right = []; let i=0; while(postorder[i]<rootVal){//[0,i)
2021-03-01 20:59:37
113
原创 实现instanceof
有一个要注意的点是,_proto__指针一共有四个,少写了编译器还不会报错,一定要注意 var myInstanceof = function(obj1,obj2){ var proto = obj1.__proto__; if(proto){ if(obj2.prototype === proto){ return true; }else{ return
2021-03-01 16:42:52
109
原创 实现call、apply
1、call方法的实现注意eval会用toString方法处理数组,不能直接把需要的值扔进eval调用fn var name = "时间跳跃"; var obj={ name:"听风是风" }; function fn(a,b,c){ console.log(a+b+c+this.name); } //模拟call方法 Function.prototype.call_ = function(obj){
2021-03-01 14:38:41
224
原创 前中后序遍历以及遇到的一些问题
其他平台不知道,leetcode上面刷题所有东西都要写在函数体里面,前序遍历,这个是对的var preorderTraversal = function(root) { let number = []; var preOrderTraversalNode = function(root){ if(root){ number.push(root.val) preOrderTraversalNode(root.l
2021-03-01 10:36:22
174
原创 冒泡排序
两两相比较,大的在右,小的在左,遍历一次就把当前最大的锁在最右边,所以第一次只需要test.length-1,每遍历一次减少一个要循环项var test=[6,2,4,6,4,2,3,7]for(var i=0;i<test.length-1;i++){ for(var j=0;j<test.length-1-i;j++){ if(test[j]>test[j+1]){ var temp=test[j]; test[j]=test[j+1]; test[j+1]
2021-02-21 23:14:03
87
原创 记一删除数组元素方法(打死别用delete
今天某算法题遇到的,不百度一下确实懵逼结合indexOf()和splice()删除数组的特定元素var test=[0,1,undefined,3,4,undefined,6]console.log(test)//[0, 1, undefined, 3, 4, undefined, 6]while(test.indexOf(undefined)!=-1){ test.splice(test.indexOf(undefined),1);}console.log(test)//[0, 1, 3,
2021-02-21 22:48:00
139
原创 关于去重问题遇到的几个坑
1、Set()很好用,但是只能判别一层数组 var a1=["E:V1R2productpgadrive.c", "1325"] var a2=["E:V1R2productpgadrive.c", "1325"] console.log(a1==a2)//false因为对于数组,相等判断符应该不会判断内容物的值,而是在判断它的地址那一层就不一样了,a1、a2的数据存放在不同的地址中。但是这样就可以生效 var a1="E:V1R2productpgadrive.c"
2021-02-21 15:12:13
160
原创 javascript写牛客要注意的点
不能这样写,不能把readline()赋给一个数组,不然修改不了元素的属性var arr=[]arr=readline();要改成var arr = readline();
2021-02-19 23:27:38
135
原创 不 懂
while(line=readline()){var lines = line.split(’ '); //字符串转换为字符数组var a = parseInt(lines[0]);var b = parseInt(lines[1]);print(a+b);}
2021-02-19 22:27:56
168
原创 牛客网上的javascript输入方式
爷整明白了,用牛客网给的readline()多行输入的话整个数组循环就成var str = new Array(3)for(var i = 0;i<str.length;i++){ str[i] = readline();}console.log(str[0])console.log(str[1])console.log(str[2])输入5 61 32 4输出5 61 32 4要注意两个要点1.输入的时候虽然不算\n,但是readline()会读取’ ’上
2021-02-19 20:07:29
536
原创 遇到一种新的块居中方式
.block{ position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);}
2021-02-18 20:42:50
140
1
原创 vscode 终端无法输入和输出
先来个网上没有的(最后再尝试这个1、新版的vscode有bug,到官网下载个历史版本就好https://code.visualstudio.com/updates我换了个1.51的解决了这里往下的网上都有,时间有限单纯作个总结,有需者直接百度2、修改vscode兼容选项3、给vscode管理员权限4、修改settings.json配置5、禁用gpu...
2021-02-18 00:24:12
2554
原创 动态规划3题
1、爬梯子问题(斐波那契数列)一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1/** * @param {number} n * @return {number} */var numWays = function(n)
2021-02-02 21:23:32
138
原创 css实现水平垂直居中
1、position:relative<body> <div class="content">要居中</div></body><style> *{ height: 100%; width: 100%; margin: 0; padding: 0; } .content{ width: 300px; height: 3
2021-02-01 14:57:53
212
原创 最近的一些面试题目准备
1、DOM文档也是一个节点,文本也是一个节点,属性也是一个节点appendChild();insertBefore();removeChild();replaceChild();2、 为什么 TCP 建立连接需要三次握手,而不是两次?这是因为这是为了防止出现失效的连接请求报文段被服务端接收的情况,从而产生错误。3、href和src的区别https://blog.youkuaiyun.com/annsheshira23/article/details/511337094、var,let,const的区别
2021-01-31 11:46:06
157
原创 javascript深拷贝的实现
var deepClone = function(obj){ var objClone = Array.isArray(obj)?[]:{}; if(obj&&typeof(obj) === "object"){ for(key in obj){ if(obj.hasOwnProperty(key)){ if(obj[key]&a
2021-01-30 20:05:24
91
原创 剑指offer算法05
27. 二叉树的镜像请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4 / \ 2 7 / \ / \1 3 6 9镜像输出: 4 / \ 7 2 / \ / \9 6 3 1示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]/** * Definition for a binary tree node. * function
2021-01-27 22:39:45
112
原创 vue组件开发频道菜单
App.vue<template> <div style="width:250px;"> <!-- 注册自定义事件@active --> <TitleMenu :isActive="select" @active="select= true"> <template v-slot:title> <!-- 给具名插槽传递内容 --> 发现插槽
2021-01-24 23:53:49
179
原创 剑指offer算法04
剑指 Offer 25. 合并两个排序的链表入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * }
2021-01-22 23:00:36
93
原创 剑指offer算法03
剑指 Offer 24. 反转链表定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null;
2021-01-21 23:32:12
89
原创 剑指offer算法02
剑指 Offer 10- I. 斐波那契数列写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输
2021-01-20 23:25:10
102
原创 剑指offer算法01
剑指 Offer 03. 数组中重复的数字找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000/** * @param {number[]} nums * @return {number} */var
2021-01-19 23:14:44
78
原创 day7小结
1、CSS3是CSS2.1的一个升级版,它是对CSS的一个扩展。2、CSS3的主要新特性:1)选择器2)阴影3)形状转换(2D<->3D)4)变形5)动画(过渡动画、帧动画)6)边框7)多重背景8)反射9)文字10)颜色(rgba/hsl/hsla)11)滤镜(filter)12)弹性布局13)多列布局14)盒模型15)Web字体16)媒体查询3、CSS3不是所有浏览器或同一浏览器的不同版本都支持,所以需要兼容处理,通常的做法就是加厂商前缀。1)主流浏览器内
2020-09-24 23:28:03
870
原创 day6小结
1、HTML5由W3C和WHAT组织机构共同研发出来的,于2014年正式发布。2、HTML5成为了新一代网页开发标准。3、HTML5新特性(面试)1)增加了audio和video音频播放,抛弃了Flash2)新增canvas画布(绘画,制作动画(如小游戏开发等))3)地理定位4)增加了离线缓存5)硬件加速6)Web Socket(全双工通信)7)增加了本地存储8)新增了一些语义化标签4、网页布局标签header:页首nav:导航栏asider:侧边栏main:主体sectio
2020-09-22 00:35:40
178
原创 day5小结
1、定位(position)设定元素在文档中的位置。会将标签(元素)转换为块级。2、定位分类(属性值)1)static:静态定位,默认值,没有定位,不能设置偏移值(left/top/right/bottom),占用标准流(文档流)2)relative:相对定位占用标准流(文档流),它会出现在文档流中它该出现的位置,可以通过设置偏移值改变其位置,它相对于自身所占的位置做偏移3)absolute:绝对定位脱离文档流,相对于body做偏移。绝对定位一般与相对定位结合使用,它相对的父级是relati
2020-09-22 00:35:00
169
原创 day4小结
1、什么是浮动?浮动就是让块级标签不独占一行。目的(使用场景):把块级标签元素可以排在一行上。2、浮动的原理就是让元素脱离文档流,不占用标准流。3、float的属性值:left:左浮动right:右浮动none:默认值,不浮动4、浮动后,后面的元素不管是块级还是行级元素,不会显示在下一行。5、清除浮动目的:让后面的元素自动掉到下一行。方法:1)添加空标签,并设置样式:clear:both;clear:left; 清除左浮动clear:right; 清除右浮动clear:bo
2020-09-22 00:34:22
179
原创 p之间边距设置
p{ font-size: 14.7px; text-indent: 2em; margin: 1.5em;/*上下边距为1.5个字符距离,左右为0*/ line-height: 1.5em;}```和表现(CSS)分离。2、基本语法:选择器{属性:属性值;}3、CSS引用方式:行间样式、内部样式、外部样式、导入外部样式。行间样式:直接在标签上书写样式。内部样式:在文件的内部书写样式。外部样式:(1)先创建一个CSS文件;(2)再用link标签引入这个文件。导入外部样式:(1)先创建一个CSS文件;(2)在style标签中用import导入这个样式文件 以上四种CSS引用方式的区别: 行间样式只作用于当前标签;而内
2020-09-15 23:04:55
113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人