- 博客(60)
- 收藏
- 关注
原创 正则中的元字符
^&let reg = /^\d/;reg.test('yiyi'); // falsereg.test('20yiyi'); // truereg.test('yiyi20'); // falselet reg = /\d$/;reg.test('yiyi'); // falsereg.test('20yiyi'); // falsereg.test('yiyi20'); // true^/$两个都不加:字符串中包含符合规则的内容即可^/$两个都加:字符串中只能是和规则一
2020-08-21 22:41:01
162
原创 DOM元素总结
获取DOM元素document.getElementById([ID]): 基于元素的ID获取到这个元素document是获取元素的上下文(获取元素的范围),getElementById方法的上下文只能是document获取到的结果是一个对象(堆内存:里边储存很多内置的方法和属性)[context].getElementByTagName([标签名]:) 在指定上下文中,基于标签名获取到页面中所有的元素标签的集合就算只有一个或没有,获取到的也是一个集合HTMLCollection(一个类数
2020-08-21 11:08:57
990
原创 JavaScript中字符串拼接
JS中常用的数学运算除了加法外,都是数学运算,如果遇到非数字类型,先基于Number此案转换为数字类型,再运算一些转换true 1false 0null 0‘’ 0[] 0 //Number([])是数字0,因为[]是对象,先要转化为字符串‘’,然后转换为数字0;但是如果在+中,在转换为‘’后就变成字符串拼接了,到不了数字的运算undefined NaNsymbol不能转 console.log(10 - null) //=>10 console.log(3 * undefi
2020-08-21 00:44:35
456
原创 正则表达式(持续更新)
絮絮叨叨只能处理字符串可以验证字符串(test),也可以把字符串中符合内容的规则捕获到(exex/match)正则的创建方式字面量创建方式两个斜杠包以来,都是用来描述规则的元字符let reg1 = /\d+/;构造函数模式创建两个参数:元字符字符串,修饰符字符串let reg2 = new RegExp("\\d+");正则由元字符和修饰符组成元字符量词元字符:设置出现的次数* //零到多次+ //一到多次? //零次或一次{n} //出现
2020-08-21 00:42:36
162
原创 问号传参解析(queryURLParam)(持续更新)
Solution 2function queryURLParams(url) { // 1.获取 ?和 # 之后的文本 let askIdx = url.indexOf('?'), wellIdx = url.indexOf('#'), askText = '', wellText = ''; wellIdx === -1 ? wellIdx = url.length : null; wellText = url.substr
2020-08-20 11:14:15
640
原创 时间字符串格式化
splitlet arr = time.split(' ');arrLeft = arr[0].split('/');arrRight = arr[0].split(':')arr = arrLeft.concat(arrRight);arr = arr.map(item => item.length < 2 ? '0' + item : item);time = `${arr[0]}年${arr[1]}月${arr[2]}日 ${arr[3]}时${arr[4]}分${arr[5]
2020-08-20 09:58:37
127
转载 JavaScript中的String内置方法
字符串中常用的方法所有用 单引号、双引号、反引号 包起来的都是字符串let str = 'zhufengpeixunyangfanqihang';// 每一个字符串都是由零到多个字符组成的str.length //=>字符串长度str[0] //=>获取索引为零(第一个)字符str[str.length-1] //=>获取最后一个字符str.length-1最后一项索引str[10000] //=>undefined 不存在这个索引//循环输出字符串中的每一个字
2020-08-19 09:26:33
191
原创 JavaScript中的Math
数学函数但是它不是一个函数,它是一个对象,对象中存储了很多操作数字的属性方法,因此被称为数学函数console.log(typeof Math); //=>"object"console.dir(Math);/* * Math = { * PI:3.141592653589793, * abs:function(){[native code]}, * ceil:function(){[native code]}, * ... * } * *
2020-08-18 17:47:40
91
原创 Javascript中数组去重(持续更新)
Solution 1会造成数组塌陷// 最后一项不用再和后边的比了for (let i = 0; i < arr.length - 1; i++) { let item = arr[i]; for (let j = j + 1; j < arr.length; j++) { if (item = arr[j]) { arr.splice(j, 1); j--; } }}问题spl
2020-08-18 17:11:24
102
原创 JavaScript中的数组(持续更新)
前端开发中数组的重要性真是项目中,从服务器获取到的数据,都是对象或者数组(JSON格式),而且结构层级一般也都是多级的,所以要学会数组/对象的操作,能够根据需求把获取的数据进行有效的解析和处理;而且vue/react开发的时候,我们都不断操作数据,来控制试图的渲染,而且操作的数据也是以对象和数组偏多学习数组要掌握的内容基础的数组操作数组常用的内置方法(浏览器天生给数组提供的方法)数组的排序和去重数组的一些操作arr.length - 1; 数组的最后一项arr[length - 1]
2020-08-18 12:49:18
189
原创 JavaScript中的函数
函数创建函数ECStack:(执行函数栈) 浏览器打开后只有一个栈内存EC(G): 全局执行上下文VO(G): 全局变量对象函数和对象都是引用数据类型,创建函数的经历的三个步骤如下:创建一个函数类型的值(引用数据类型)开辟一个16进制的堆内存把函数体中的代码当作”字符串“存储近去把地址存放在栈内存中创建变量(函数名)关联 (在VO(G)中进行,但是VO(G)在EC(G)里, EC(G)在ECStack里为什么要执行函数常见函数只是按照普通存储对象的方法,把函数体
2020-08-17 17:51:58
70
原创 对HTML中DOM的理解
获取DOM元素document.getElementById([ID]) 基于元素的ID获取到这个元素document.body 获取页面中的BODY元素document.getElementByTagName([标签名]) 基于标签名获取到页面中所有的元素标签几个基于JS获取到到的DOM元素是“对象数据类型”值,里边博阿含很多浏览器自带的、用来操作元素的键值对对于DOM是对象的理解获取到的元素是对象,储存在堆内存中,里边有很多键值对,正常对象中的键值对的操作都适用 box.id或box
2020-08-16 15:26:31
160
原创 面试题——js基础(持续更新)
面试题1!(!"Number(undefined)") //=> true注意这是字符串面试题2isNaN(parseInr(new Date())) + Number([1]) + typeof undefined// 2undefined
2020-08-15 09:30:37
95
原创 i++, i += 1 和i = i + 1 一样吗?
相同点都是在自身的基础上累加1不同点i++ 浏览器会做特殊处理(会把其转换为数字再进行累加)i++ // a = Number(a) + 1面试题let a = "10";a == 10 ? a++ : a--;console.log(a);//11
2020-08-15 09:11:44
388
原创 JavaScript中的遍历(查漏补缺)
FOR IN遍历对象中的每一个属性:无法直接获取到对象有多少属性(ES6中的Object.keys除外),也就无法知循环多少次,所以无法使用for循环,再真实项目中遍历对象基于FOR IN循环FOR IN遍历时,是按照“从大到小”优先遍历数字属性的var obj = { name : "一一", age : "18", hobby : "eat", character : "cute", // 遍历的顺序是0,10,name, age... 10 : 1
2020-08-15 08:49:23
138
原创 JavaScript的判断语句
三元运算法// 如果条件成立或者不成立的时候,不想做一些事,则使用null/undefined占位,不占位会报错x > 0 ? (x++, console.log(x)) : null;// case 2let x = 10;if (x > 0){ if (x < 10) { x++; } else { x--; }} else { x--;}// 等价于x > 0 ? (x < 10 ? x++ : x--) : x--;
2020-08-14 22:16:02
116
原创 JavaScript中比较两个值是否相等 == 和===
== 相等如果左右两个数据类型不同,先默认转换为相同的数据类型,然后再进行比较=== 绝对相等需要保证左右两边的数据类型和值都一样才会相等Object.is ES6新增的方法console.log(10 == "10");//TRUEconsole.log(10 === "10");//FALSEconsole.log("10" == "10");//TRUE...
2020-08-14 17:37:09
500
原创 浏览器底层相关--堆栈内存篇
渲染机制1.在浏览器中打开页面,浏览器引擎会渲染相关的代码,换句话说会把代码从上往下执行2.浏览器要执行代码,会提供一个供代码执行的环境,叫做ECStack(Execution Context Stack 环境执行上下文)=> 栈内存3.最开始执行的是全局代码,会形成一个EC(GLOBAL)全局执行上下文,在栈内存中执行全局的代码4.在全局执行中有一个VO(GLOBAL)全局对象,可以吧定义的变量和值存储在这里边定义变量的三个步骤基本类型变量let a = 12;1.创建值12(基本
2020-08-14 16:32:07
284
原创 JavaSript中数据类型的检测(持续更新)
数据类型基本数据类型:Boolean Number String null undefined symbol BigInt引用数据类型:object(普通对象、数组对象、正则对象、日期对象…)、functionJS中数据类型的检测1.typeof [value]检测的结果是一个字符串(number、object、function、bigint…)特殊的检测结果NaN/Infinity是numbernull的结果是object(暂时性死区)其实就是浏览器的bug,null是空对象指针
2020-08-14 15:12:21
128
原创 JavaScript中的Number(持续更新)
数字的定义常规数字、NaN和Infinity(-Infinity)NaN和自己不相等,所以不可以用它检测是否是有效数字,用isNaN()//错误let n = NaN;if(n == NaN){}console.log(isNaN(1));//falseconsole.log(isNaN(NaN));//trueconsole.log(isNaN(Infinity));//false在使用isNaN进行检测的时候,首先会验证检测的值是否为数字类型,如果不是,先基于Number()
2020-08-14 12:12:15
357
1
原创 JavaScript中的Object(持续更新)
对象的特点用键值对来(又称为属性名和属性值)描述一个对象{key:value,}key不可以是引用类型,value可以是任何类型key不能重复数组是特殊的对象key是0,1,2…,每一个数字代表当前项的位置,把这种数字属性名称为”索引“默认有一个length属性储存数组的长度 arr.length/arr[“length”]可以获取数组的长度对象的增删改查对象.属性名 = 属性值这样操作key不可以是数字对象[属性名] = 属性值其他非字符串格式作为key和把它转化为字符格
2020-08-14 12:09:38
179
原创 JavaScript中的Boolean(持续更新)
把其他类型转换为布尔类型Boolean([value]);!![value]只有“0/空字符串/NaN/null/undefined”是false(“[],{}”是ture)当做条件判断时,每一个条件最后一定转化为布尔类型
2020-08-14 12:08:31
142
原创 JavaScript的Symbol(持续更新)
定义所有用单引号、双引号、反引号(撇)包起来的都是字符串把其他数据类型转换为字符串String([value])[value].toString()普通对象转化为字符串都是"[object Object]",数组转化为字符串是"item1, item2…"JS中常用的数学运算除了加法外,都是数学运算,如果遇到非数字类型,先基于Number此案转换为数字类型,再运算 console.log(10 - null) //=>10 console.log(3 * undefined)
2020-08-14 12:07:18
121
原创 浏览器的分类与使用
1.以谷歌浏览器webkit内核为主ChromeSafari国内浏览器(360、搜狗、UC)Gecko内核FirefoxTrident内核IE浏览器(IE6)不同浏览器渲染的机制不一样,因为采用不同的内核来处理开发者工具Elements包含了页面所有的样式和结构,可以快速查看和调整页面的样式结构Console可以向控制台中输入一些内容,来进行项目的调试;如果项目程序出现问题,也可以在控制台查看报错信息;也可以在控制台编写代码,进行测试Network包含了所
2020-08-13 15:58:00
463
原创 JavaScript中常用的输出方式
1.console 控制在浏览器控制台输出console.log() 控制台输出输出任意数据类型的数据,一次可以输出多个值console.dir() 控制台详细输出输出一个对象或一个值的详细信息,一次输出一个值function func(){}console.dir(func)//输出函数的具体信息:argument、caller、length、nameconsole.table() 把数据以表格的形式输出在控制台把多维的JSON数据以表格形式输出console.time()/ti
2020-08-13 15:56:55
237
原创 JavaScript中的变量
变量的定义真实存在的是值变量:可变的量,是一个虚拟的概念,本身没有什么意义,是用来代表和指向具体值的,给真实存在的值取了个名字JS创建变量的几种方式ES3:varES6:let、constfunction 创建函数创建了一个变量,指向函数function func(){}//此时会打印这个函数console.log(fun);class创建一个类创建一个变量Dog,让其指向这个类class Dog {}//此时会打印这个类console.log(Dog);
2020-08-13 15:55:12
107
原创 js笔记
js的基本类型numberstringbooleanundefinednullsymbolObject(array function)可以用typeof查询, NaN(number),null(Object)浮点数的运算先转换为整数,再运算,再转化为小数一个值不等于它本身:NaNnull 和undefined区别定义一个变量,不赋值,就是undefinednull是赋了一个空值falsely 和 truthyfaksely :false 0 ‘’ “” null un
2020-07-28 21:56:13
83
原创 BST Traversal
PromptWrite three functions that take in a Binary Search Tree (BST) and an empty array, traverse the BST, add its nodes’ values to the input array, and return that array. The three functions should traverse the BST using thein-order, pre-order, and post-
2020-06-28 18:00:21
130
原创 Subarray Sort
PromptWrite a function that takes in an array of at least two integers and that returns an array of the starting and ending indices of the smallest subarray in the input array that needs to be sorted in place in order for the entire input array to be sort
2020-06-21 21:24:04
239
原创 Longest Peak
PromptWrite a function that takes in an array of integers and returns the length of the longest peak in the array.A peak is defined as adjacent integers in the array that are strictly increasing until they reach a tip (the highest value in the peak), at
2020-06-21 21:12:58
148
原创 Largest Range
PromptWrite a function that takes in an array of integers and returns an array of length 2 representing the largest range of integers contained in that array.The first number in the output array should be the first number in the range, while the second n
2020-06-21 20:59:09
232
原创 Spiral Traverse
PromptWrite a function that takes in an n x m twodimensional array (that can be square-shaped when n === m) and returns a one-dimensionalarray of all the array’s elements in spiralorder.Spiral order starts at the top left corner of thetwo-dimensional arr
2020-06-20 17:26:05
127
原创 Move Element To End
PromptYou’re given an array of integers and an integer. Write a function that moves all instances of that integer in the array to the end of the array and returns the array.The function should perform this in place (i.e., it should mutate the input array
2020-06-18 19:50:29
120
原创 Smallest Difference
PromptWrite a function that takes in two non-empty arrays of integers, nds the pair of numbers (one from each array) whose absolute dierence is closest to zero, and returns an array containing these two numbers, with the number from the rst array in the f
2020-06-18 19:43:59
192
原创 Monotonic Array
PromptWrite a function that takes in an array of integers and returns a boolean representing whether the array is monotonic.An array is said to be monotonic if its elements, from left to right, are entirely nonincreasing or entirely non-decreasing.Sampl
2020-06-18 19:28:46
88
原创 Max SubSet Sum No Adjacent
PromptWrite a function that takes in an array of positive integers and returns the maximum sum of non-adjacent elements in the array.If a sum can’t be generated, the function should return 0 .Sample Inputarray = [75, 105, 120, 75, 90, 135]Sample Outp
2020-06-05 19:19:47
145
原创 Number Of Ways To Make Change
PromptGiven an array of positive integers representing coin denominations and a single non-negative integer n representing a target amount of money, write a function that returns the number of ways to make changefor that target amount using the given coi
2020-06-05 19:15:31
269
原创 Min Number Of Coins For Change
PromptGiven an array of positive integers representing coin denominations and a single non-negative integer n representing a target amount of money, write a function that\ returns the smallest number of coins neededto make change for that target amount u
2020-06-05 19:09:09
171
原创 Max Path Sum In Binary Tree
PromptWrite a function that takes in a Binary Tree and returns its max path sum. A path is a collection of connected nodes in a tree where no node is connected to more than two other nodes; a path sum is the sum of the values of the nodes in a particular
2020-06-05 19:02:10
192
原创 Validate BST
PromptWrite a function that takes in a potentially invalid Binary Search Tree (BST) and returns a boolean representing whether the BST is valid.Each BST node has an integer value , a left child node, and a right child node. A node is said to be a valid B
2020-06-04 12:25:42
136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人