Shyno
Don't be shy,no problem!
posts - 88,comments - 11,views - 15万

随笔分类 -  JS

引入数据类型无过程值?
摘要:案列代码如下 //优秀学生案例 const obj = {name:'小红',age:18,message:'该学生成绩优异'} //有些学生列表,但无学生评语,即message const objList = [{name:'小红',age:17},{name:'小明',age:17},{name 阅读全文
posted @ 2023-09-20 19:26 Shyno 阅读(7) 评论(0) 推荐(0) 编辑
js原型链
摘要:引言:每个人的知识储备和理解方式不一样,所以对于一个特定的知识点没有固定的最佳思路.就原型链这个知识点来说,网上查询了好几次了,最终还是被prototype和__proto__给搞混了.所以,为了方便记忆,我觉得采取逆向思维去理解这个知识点. 对象的创建 我需要一个对象,有姓名,年龄,和职业. le 阅读全文
posted @ 2022-08-08 20:32 Shyno 阅读(41) 评论(0) 推荐(0) 编辑
装箱操作和拆箱操作
摘要:弱数据类型 js是弱数据类型语言,即它声明的变量,可以被赋值成不同类型的数据. 也就是说,同一个变量.我可以先是基础数据类型,然后马上被赋值成引用数据类型;也可以先是引用数据类型,然后被赋值成基础数据类型. 变量声明方式 1.直接声明并赋值 let a = '你好' console.log(a)// 阅读全文
posted @ 2022-02-08 11:49 Shyno 阅读(103) 评论(0) 推荐(0) 编辑
hooks中,useEffect无限调用问题产生的原因
摘要:前言:我在我的另一篇博客中有说道useEffect监听对象或者数组时会导致useEffect无限执行,并给予了解决方案-useEffect无限调用问题 .后来我想从其产生根源去理解并解决这个问题. 原因: 错误代码 const [test, setTest] = useState({ name: ' 阅读全文
posted @ 2021-12-03 11:11 Shyno 阅读(1403) 评论(0) 推荐(0) 编辑
【js基础】基础数据类型变量为啥有属性?
摘要:1.变量和数值 let a =1 这是一个简单的变量声明,其中“a”是变量,在代码中供程序员或者语法操作的,而1是数值,是我最终需要的东西。为什么不直接使用数值而使用变量?这个就不展开了。 2. 变量和数值是一个东西吗? 我们都知道引用数据类型不是 let b = {} 其中{}是数值,一个空对象, 阅读全文
posted @ 2021-11-05 18:10 Shyno 阅读(165) 评论(0) 推荐(0) 编辑
数组去重(包含复杂数据类型数组)
摘要:基础数据类型数组 现有,一个数组,其中有若干元素,请将其中重复的元素去除 let arr = [1,1,2,3,4,4,5,6,6] 方法1:唯一添加法 声明一个新数组,然后将原来的数组一个个加入到新数组(新数组没有相同值得情况),关键是需要一个isClude去判断是否newArr是否已经包含了此元 阅读全文
posted @ 2021-10-22 17:38 Shyno 阅读(622) 评论(0) 推荐(0) 编辑
for循环中的变量泄漏
摘要:经典的案例 let arr = [] for(var i =0;i<=5;i++){ arr[i]= function fn(){ console.log(i) } } arr[0]() //6 解析:我们的想法是arr[0]的函数应该是打印0的,而且每个元素的函数都能打印出自己的索引才对,可结果出 阅读全文
posted @ 2021-10-12 14:11 Shyno 阅读(204) 评论(0) 推荐(0) 编辑
变量声明和作用域
摘要:变量声明 声明方式 显式声明:用命令声明一个变量,比如(var,let,const) 隐式声明:不用命令声明 var a = 1 //显式声明 b=1 //隐式声明 console.log('jjjj',a,b) //jjjj 1 1 两者的区别 1.隐式声明不需要用命令 2:显式声明可以不赋值,隐 阅读全文
posted @ 2021-09-27 17:37 Shyno 阅读(100) 评论(0) 推荐(0) 编辑
变量提升和块级作用域
摘要:变量提升 变量提升是一种现象,即"js是从上往下执行的"和实际结果有所出入. console.log('b',b) var b =1 //undefined 这里有两个问题. 1.未声明的变量为啥能使用. 2.为啥补声明的变量值为undefined 首先,我们要明白"var b = 1",实际上是好 阅读全文
posted @ 2021-09-27 17:37 Shyno 阅读(159) 评论(0) 推荐(0) 编辑
面向对象编程(3)-子父类与继承
摘要:因为面向对象,所以对象是很重要的储存工具。和面向过程一样,它也有变量名重复的风险,比如之前提到的原型污染。为了一定程度上解决这个问题,引入了子父类和继承的概念。 1.子父类 //父类const GetObj = function () { this.b = ['1', '2'] } GetObj.p 阅读全文
posted @ 2021-03-29 14:33 Shyno 阅读(267) 评论(0) 推荐(0) 编辑
面向对象编程(2)-类与原型
摘要:1.用函数代替对象储存变量 变量 const obj1 = { a: 1, b: ['1', '2'], c: function () { return 'name' } } 函数:实际上最终还是放在对象里 const getObj=()=>{ return { a: 1, b: ['1', '2' 阅读全文
posted @ 2021-03-17 19:27 Shyno 阅读(133) 评论(0) 推荐(0) 编辑
面向对象编程(1)-面向对象编程初步认知
摘要:其实,不需要搞明白面向过程编程和面向对象编程的区别,只需要明白面向对象的特点:变量必须有家长,万事家长做主.慢慢就能理解面向对象的优劣. 1.变量有所属. 常规方式 var a = 1 let b = ['1', '2'] const c = function (name) { return nam 阅读全文
posted @ 2021-03-17 14:58 Shyno 阅读(106) 评论(0) 推荐(0) 编辑
几种遍历方式的比较
摘要:主要从几个方面讨论 1.是否有返回值 2.是否在遍历过程中拿到value、key或者value、index 3.适用数据类型 4.遍历对象是否包含Symbol属性或者不可枚举属性 一、for 、while、do while几种循环(灵活而冗杂) 是否有返回值:非函数,不讨论 value、index 阅读全文
posted @ 2020-01-07 18:16 Shyno 阅读(771) 评论(0) 推荐(0) 编辑
正则表达式基本使用
摘要:定义: 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等. 简单来说就是匹配字符或者字符串的一种规则,可以在很多特殊或者复杂的条件下进行匹配.再结合自身以及字符串 阅读全文
posted @ 2020-01-03 18:33 Shyno 阅读(1153) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示